直接选择排序

注:选择排序就是从第一个数开始依次遍历,找出最小的数,然后交换位置,直到剩余元素只有一个为止。

代码如下:

public class MaoPao {
public static void main(String[] args){
//直接选择排序
int[] arr = new int[]{49,38,65,76,13,27,49};
int min;
//i层代表遍历多少轮
for(int i=0;i<arr.length;i++){
//j层代表的是从等同于i的下标代表的数值
for(int j=i;j<arr.length;j++){
//表示每轮执行的第一个数于与所有数字进行比较
if(arr[i]>arr[j]){
min = arr[j];
arr[j] = arr[i];
arr[i] = min;
}
}
}
//遍历上述直接排序的数字,并输出
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}

}

}

代码二如下:

public class MaoPao {
public static void main(String[] args){
//直接选择排序
int[] arr = new int[]{49,38,65,76,13,27,49};
//代表循环遍历了多少轮
for(int i=0;i<arr.length-1;i++){
int t = i;//默认这个是最小值
//用于数值间的比较。从i=j开始
for(int j=i;j<arr.length;j++){
//从最开始依次比较
if(arr[t]>arr[j]){
t = j;
}
}
//不是的情况就交换
if(t != i){
int lemp = arr[t];
arr[t] = arr[i];
arr[i] = lemp;
}
}
//遍历排序数
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}

}

}

代码三:注实现该功能不注重方法为主

public class MaoPao {
public static void main(String[] args){
int[] arr = new int[]{49,38,65,76,13,27,49};
//排序的一个函数
Arrays.sort(arr);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}

}

}

posted @ 2016-07-27 20:37  caocx  阅读(204)  评论(0编辑  收藏  举报