public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = { 2, 5, 1, 7, 36, 4, 12 };
sort2(array);
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
// 选择排序
public static void sort1(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
// 冒泡排序
public static void sort2(int[] array) {
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = { 2, 5, 1, 7, 36, 4, 12 };
sort2(array);
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
// 选择排序
public static void sort1(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
// 冒泡排序
public static void sort2(int[] array) {
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
}
冒泡排序和选择排序的总结:
1. 不管是选择还是冒泡,有5个数,需要排4趟,如果有n个数,排n-1趟,这是外层循环
2. 冒泡排序的原理:始终是从索引为0的元素开始,后面的元素两两进行比较,前索引不变
3. 选择排序的原理:每个元素和它的的后面的所有的元素进行比较,后索引不变。