1.选择排序:依次和其后的元素比较,如果大于就换位。
特点:第一趟轮询比较后,最小值就跑到了最前面,第二趟轮询时,第一位就不参与比较了,依次递归。。
public static void selectSort(int[] arr) {
for(int x=0; x<arr.length-1; x++) {
for(int y=x+1; y<arr.length; y++) {
if(arr[x]>arr[y]) {
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
2.冒泡排序:相邻的两个元素进行比较,如果符合条件就换位。
特点:最值先出现在最后位,第二趟轮询比较时,最后位不用参与比较;参与比较的元素数依次递减。
public static void bubbleSort(int[] arr) {
for(int x=0; x<arr.length; x++) {
for(int y=0; y<arr.length-x-1; y++) {//-x让每次比较的元素减少,-1避免角标越界;
if(arr[y]>arr[y+1]) {
int temp = arr[y];
arr[y] =arr[y+1];
arr[y+1] = temp;
}
}
}
} |
|