package sort;
public class Sort {
public static void main(String[] args) {
int[] array = {1, 5, 2, 8, 3, 66, 44, 23, 98, 97};
choiceSort(array);
print(array);
bubbleSort(array);
print(array);
}
/**
* 冒泡排序
*
* 比较的是相邻的两个数字,然后交换位置
*/
private static void bubbleSort(int[] array) {
int temp = 0;
for(int i=array.length-1; i>0 ; i--) {
for(int j=0; j<i; j++) {
if(array[j] < array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
/**
* 选择排序
*
* 第一次拿最前面的依次和后面的比,然后交换位置
* 第二次拿第二位的依次和后面的比,然后交换位置
*/
private static void choiceSort(int[] array) {
int k = 0;
int temp = 0;
for(int i=0; i<array.length-1; i++) {
k = i;
for(int j=i+1; j<array.length; j++) {
if(array[k] > array[j]) {
k = j;
}
}
if(k != i) {
temp = array[i];
array[i] = array[k];
array[k] = temp;
}
}
}
private static void print(int[] array) {
for(int value : array) {
System.out.print(value + " ");
}
System.out.println();
}
}
本文详细介绍了冒泡排序和选择排序算法的实现过程,并通过代码示例进行了对比演示。
1万+

被折叠的 条评论
为什么被折叠?



