冒泡排序:两两比较,每轮比较出最大/最小的那个
/**
* 测试冒泡排序:升序
*/
public static void main(String[] args) {
int[] num = {60,80,19,23,56,108};
// 1. 外层for循环:比较的轮数
for(int i=0;i<num.length-1;i++){
// 2. 内存for循环:每轮比较的次数
for(int j=0;j<num.length-i-1;j++){
// 如果numj>numj+1的,调换位置
if(num[j]>num[j+1]){
int temp = num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
// 遍历数组,输出
for(int i=0;i<num.length;i++){
System.out.print(num[i]+"\t");
}
}
选择排序:固定一个位置,存放最大/小值
/**
* 选择排序:升序
* @param args
*/
public static void main(String[] args) {
int[] num = {60,80,19,23,56,108};
// 1. 外层for循环控制选择的轮数
for(int i=0;i<num.length-1;i++){
// 2. 内层for循环:控制每轮比较的次数
for(int j=i+1;j<num.length;j++){
if(num[i]>num[j]){
int temp = num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
// 遍历数组,输出
for(int i=0;i<num.length;i++){
System.out.print(num[i]+"\t");
}
}