选择排序,和冒泡排序一样,都是从第一个元素开始依次和后面的元素比较大小,不同的是选择排序每次比较之后,不交换位置,而是记录最小的元素的索引,这样在一次遍历完之后在将索引位置的元素与比较的元素交换,这样可以不用频繁的交换元素位置.
代码:
public static void sort(int[] arr){
for (int i = 0; i < arr.length; i++) {
int index=i;
for (int j = i; j < arr.length; j++) {
if(arr[i]>arr[j]){
index=j;
}
}
//判断索引值是否改变,如果改变,则交换元素
if(index!=i){
int temp=arr[i];
arr[i]=arr[index];
arr[index] = temp;
}
}
}
网友评论