选择排序:每圈要比较的第一个元素与该元素后面的数组元素依次比较到数组的最后一个元素,把小的值放在第一个数组元素中,数组循环一圈后,则把最小元素值互换到了一个元素中。数组再循环一圈后,把第二小的元素值互换到了第二个元素中。按照这种方式,数组循环多圈以后,就完成了数组元素的排序。
1.使用for循环(外层循环),指定数组要循环的圈数(数组循环的圈数为数组长度-1)
2.在每一圈中,通过for循环(内层循环)完成数组要比较的第一个元素与该元素后面的数组元素依次比较到数组的最后一个元素,把小的值放在第一个数组元素中
3.在每一圈中,要参与比较的第一个元素由第几圈循环来决定。
a) 进行第一圈元素比较时,要比较的第一个元素为数组第一个元素,即索引为0的元素
b)进行第二圈元素比较时,要比较的第一个元素为数组第二个元素,即索引为1的元素
c) 依次类推,得到结论:进行第n圈元素比较时,要比较的第一个元素为数组第n个元素,即数组索引为n-1的元素
JAVA代码如下:
public static void selectSort(int[] arr) {
//功能
//外层循环来控制数组循环的圈数
for (int i =0;i<arr.length-1;i++) {
//内层循环用来完成元素值比较,把小的元素互换到要比较的第一个元素中
for (int j=i+1;j<arr.length;j++) {
if (arr[i]>arr[j]) {
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
python代码如下:
list=[4,3,6,2,8,1]
for i in range(len(list)-1):
for j in range(i+1,len(list)):
if list[i]>list[j]:
list[i],list[j]=list[j],list[i]
print(list)