public static void arr_sort3(int[]x)
{
for (int a=0;a<x.length ;a++ )
{ int m=a;//m这个变量存储参与外循环的元素中最值的角标。这个值初始化值随着a改变
{ for (int b=a+1;b<x.length;b++ )//内循环一次,得出参与循环的最值元素角标
if (x[m]>x[b])
m=b;
}
int tmp=x[m];//将最值元素与参与循环的头角标元素调换位置。
x[m]=x[a];
x[a]=tmp;
System.out.println(x[a]);//调换位置以后,打印头角标元素即最值。
}
}
}作者: 王峰 时间: 2012-7-31 00:00
冒泡排序是一种典型的交换排序方法,其思想是让无序的相邻的关键字比较交换,使最小的如气泡浮上来,快速排序是有冒泡排序改进而来的,:冒泡排序的算法如:
int [] temp = {1,2,56,23,89,5};
for (int i = 0; i <temp.length-1; i ++){
for(int j = temp.length - 1;j > i; j --){
if( temp[j]<temp[j-1]){
int tt = temp[j];
temp[j]=temp[j-1];
temp[j-1]=tt;
}
}
快速排序算法:
int i=0;
int j=temp.length;
if(i<j){
int tt = temp[i];
while(i!=j){
while(j>i&&temp[j]<tt)
j---;
temp[i]=temp[j];
while(i<j&&temp[i]<tt)
i--;
temp[j]=temp[i];
}
temp[i]=tt;
//然后递归调用这一段代码即可,分前半段 和后半段,瞌睡的很,我睡觉了,晚安,有点乱,希望对你有帮助