Java中的冒泡排序和选择排序

冒泡排序:
相邻元素两两比较,大的往后放,第一次完毕后,最大值就出现在了最大索引处,
同理,继续,即可得到一个排好序的数组。

规律:1.两两比较,大的往后放。
2.第一次比较完后,下一次比较的时候就是减少一个元素的比较
3.第一次比较,有0个元素不比。
第二次比较,有1个元素不比。
第三次比较,有2个元素不比。
4.总共需要比较 数组长度-1次。

/*代码实现*/
public static void bubbleSort(int[] arr){

int[] arr = { 24, 51, 35, 54, 25, 64, 72, 52 };
for(int x = 0;x < arr.length-1;x++){
for(int y = 0;y < arr.length - 1 - x; y++){
if(arr[y] > arr[y+1]){
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}

for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); //24 25 35 51 52 54 64 72
}
}
选择排序:
从0索引开始,一次和后面元素比较,小的往前方,第一次完毕后,最小值出现在
了最小索引处。其他的同理即可以得到一个排好序的数组。

规律:
1:第一次是从0索引开始和其他的进行比较
第二次是从1索引开始和其他的进行比较
....
2:最后一次是数组长度-2的元素个数组长度-1的元素比较。

/*代码实现*/
public static void bubbleSort(int[] arr){

int[] arr = { 24, 51, 35, 54, 25, 64, 72, 52 };

for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[y]<arr[x]){
int temp = arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); //24 25 35 51 52 54 64 72
}

}

猜你喜欢

转载自www.cnblogs.com/lszbk/p/12318606.html