选择排序,简单排序,冒泡排序,快速排序的java代码实现


public class eachsort {//各种排序从小到大

private int [] a= {1,7,2,8,10,9,5,6,3,4};

public static void printarray(int [] a)
{
for(int i=0; i{
System.out.print(a[i]+" ");
}

}

public int[] bubbleSort( )//冒泡
{
int temp=0;
int []a=this.a;
for(int i=0; ifor(int j=0; j{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}

}
return a;
}
public int[] selectSort()//选择排序
{
int temp1=0;
int temp2=0;
int []a=this.a;
for(int i=0; i{
temp1=i; //每次排好一位temp1为最小值下标
for(int j=i; j{

if(a[j+1]{
temp1=j+1;
}
temp2=a[i];
a[i]=a[temp1];
a[temp1]=temp2;


}

}
return a;
}

public int[] insertSort()//插入排序
{

int []a=this.a;

for(int i=1; i{
int k=i; //将每一次第i的值位置记录下来
int b=a[i];
int j=i-1;
do {
if(a[j]>b)
{
a[j+1]=a[j];
k--; //应该往前移动到哪个位置
}
j--;


}while(j>=0);



a[k]=b;



}
return a;

}
publicint[]quickSort(int[]a,int low,int high)
{

a=this.a;
int i=low;
int j=high;
int key=a[low];
if(i>=j)
return a;
while(i{
while(a[j]>key&&i{
j--;
}
a[i]=a[j]; //小于key交换
while(a[i]{
i++;
}
a[j]=a[i]; //大于k交换
}
a[i]=key;
quickSort(a,low,i-1);
quickSort(a,i+1,high);

return a;

}


public static void main(String[] args)
{
eachsort es=new eachsort();
int a[]=new int[10];
int []b=es.quickSort(a,0,9);
printarray(b);

}
【选择排序,简单排序,冒泡排序,快速排序的java代码实现】}

    推荐阅读