冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
冒泡懵逼排序
//冒泡排序
public class Bubbling {
public static void main(String[] args) {
int array[] = new int[] { 14, -2, 45, 123, 25, 10 };
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
int t = array[j];
array[j] = array[j + 1];
array[j + 1] = t;
}
}
System.out.print(array[i] + " ");
}
}
}
直接选择排序:就是第一次从R[0]R[n-1]中选取最小值,与R[0]交换,第二次从R[1]R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
直接选择排序
//直接选择排序
public class Direct {
public static void main(String[] args) {
int array[] = new int[] { 14, 45, -2, 123, 25, 10 };
for (int i = 0; i < array.length; i++) {
int t = i;// 默认指向最小值
for (int j = i + 1; j < array.length; j++) {
if (array[t] > array[j]) {
t = j;
}
}
if (t != i) {
int temp = array[t];
array[t] = array[i];
array[i] = temp;
}
System.out.print(array[i] + " ");
}
}
}