Java之选择排序与冒泡排序的区别与理解
选择排序
选择排序:就是每次从一组待排序的数组中找到最小值(或最大值)然后与该序列的起始位置进行替换,以此类推,直到待排序的数组排序好为止。
选择排序代码:
public class SelectionSort {
public static void main(String[] args) {
int[] myArray = {18,91,38,77,36,55,74,30,2,41};
System.out.println("排序前的数组为:");
for(int i=0;i<myArray.length;i++) {
System.out.print(myArray[i]+" ");
}
//选择排序算法
for(int i=0;i<myArray.length;i++) {
for(int j=i+1;j<myArray.length;j++) {
int min = myArray[i];
if(min>myArray[j]) {
int temp = myArray[i];
myArray[i] = myArray[j];
myArray[j] = temp;
}
}
}
System.out.println();
System.out.println("排序后的数组为:");
for(int i=0;i<myArray.length;i++) {
System.out.print(myArray[i]+" ");
}
}
}
冒泡排序
冒泡排序:就是每趟从待排序的数组中比较相邻两个数字的大小,将数字小的放在前面,数字大的放在后面;重复第一趟的操作,直到完成排序为止。
冒泡排序代码:
public class BubbleSort {
public static void main(String[] args) {
int[] myArray = {18,91,38,77,36,55,74,30,2,41};
System.out.println("排序前的数组为:");
for(int i=0;i<myArray.length;i++) {
System.out.print(myArray[i]+" ");
}
//冒泡排序算法
for(int i=0;i<myArray.length-1;i++) {
for(int j=0;j<myArray.length-1-i;j++) {
if(myArray[j]>myArray[j+1]) {
int temp = myArray[j];
myArray[j] = myArray[j+1];
myArray[j+1] = temp;
}
}
}
System.out.println();
System.out.println("排序后的数组为:");
for(int i=0;i<myArray.length;i++) {
System.out.print(myArray[i]+" ");
}
}
}