1、冒泡排序
1 /* 2 * 冒泡排序 3 * 外层控制循环多少趟,内层控制每一趟的循环次数 4 */ 5 public class Test08 { 6 public static void main(String[] args) { 7 int num[] = {1,9,2,8,4,7,6,5,3}; //定义一个需要排序的数组 8 System.out.println("排序前的数组为:"); 9 for (int n:num) { //用增强for循环对数组进行排序 10 System.out.print(n+""); 11 } 12 for (int i = 1; i < num.length; i++) { //控制循环的趟数 13 for (int j = 1; j < num.length-1-i; j++) { //每趟循环的次数,数组长度减 i 是因为最后一个数已经比前面的数大,不需要再进行比较 14 if (num[j]>num[j+1]) { //当j>j+1时,将两个数交换,大的放后面,当遇到比这个还要大的,再交换,最后就一定是最大的数 15 int temp = num[j]; 16 num[j] = num[j+1]; 17 num[j+1] = temp; 18 } 19 } 20 } 21 System.out.println(); 22 System.out.println("排序后的数组为:"); 23 for (int n:num) { 24 System.out.print(n+""); 25 } 26 } 27 }
https://www.cnblogs.com/shen-hua/p/5422676.html
2、选择排序
/* * 选择排序 * */ public class Test07 { public static void main(String[] args) { int[] array = {8,6,7,5,1,4,3,9,2}; System.out.println("排序前:"); for (int i : array) { System.out.print(i+", "); } System.out.println(); System.out.println("排序后:"); for (int i = 0; i < array.length; i++) { //外层控制比较的第一个数,内层把包括第一个数之后的数都都遍历一遍 for (int j = i; j <array.length; j++) { if (array[i]>array[j]) { //用第一个数与后面的数依次比较,如果后面有比第一个数还要小的数就与他进行交换 int teamp = array[i]; array[i] = array[j]; array[j] = teamp; } } } for (int i : array) { System.out.print(i+", "); } } }