- 排序(重点)
排序基础
//案例1:交换两个变量的值;例如:a=3,b=5 交换后:a=5,b=3
//分析:借一个变量
public class SortBasic {
public static void main(String[] args) {
int a = 3;
int b = 5;
System.out.println("交换前: a="+a+";b="+b);
//注意:赋值操作,右边看成值,左边看成变量
int t = a; //t=3
a = b; //a=5
b = t; //b=3
System.out.println("交换后: a="+a+";b="+b);
}
}
冒泡排序(重点)
冒泡排序:相邻两数两两比较,大的放右边,比较完一轮后,最右边的数为最大值;以此类推共比较(长度-1)轮
流程: 1.先画图分析 2.再写代码
public class MaoPao {
public static void main(String[] args) {
int[] a= {
3,1,5,2,9,7,4,6};
for(int i=0;i<a.length-1;i++) {
//外层代表轮数
for(int j=0;j<a.length-1-i;j++) {
//内层代表每轮比较次数,依次递减
if(a[j]>a[j+1]) {
int t=a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
//System.out.println("第"+(i+1)+"轮:"+Arrays.toString(a));
}
System.out.println("排序后:"+Arrays.toString(a));
}
}
选择排序(重点)
//选择排序:假设第一个元素为最小,依次与后面元素比较;比较完一轮确定第一个位置元素是最小的;
// 假设第二个元素最小,依次与后面元素比较,以此类推;共比较(长度-1)轮
public class XuanXe {
public static void main(String[] args) {
int[] a = {
3,1,5,2