//冒泡排序 public class d1 { public static void main(String[] args) { //冒泡排序 /* * 0-1 1-2 2-3 3-4 4-5 * j是-左边的,范围:0-lengt-1-1 * -右边永远是j+1 (这样就能保证永远都是相邻的元素) * */ int[]arr ={6,1,2,3,4,5}; for (int i = 0; i< arr.length-i; i++) { for (int j = 0; j <arr.length-1-i ; j++) { if (arr[j]>arr[j+1]){ int a= arr[j]; arr[j] =arr[j+1]; arr[j+1]=a; } } } for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]+"\t"); } } }
//选择排序:每次从头一个元素,依次和后续的元素进行比较(有选择的比较) public class d2 { public static void main(String[] args) { //选择排序:每次从头一个元素,依次和后续的元素进行比较(有选择的比较) int[]arr={6,1,2,3,4,5}; 0 - 1 2 3 4 5 1 - 2 3 4 5 2 - 3 4 5 3 - 4 5 4 - 5 for (int i=0;i<arr.length-1;i++){ //被选择比较的 for (int j= i+1; j <arr.length ; j++) { if (arr[i]>arr[j]){ int a= arr[i]; arr[i] = arr[j]; arr[j] = a; } } } //遍历数组输出元素 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]+"\t"); } } }