1 class Arithmetic{ 2 public static void main(String args []){ 3 System.out.println("\t\t\t===冒泡排序==="); 4 int[] num1 = {3,6,2,4,8}; 5 //原理:将数组的元素两两作比较,然后依次将最大值往后面排 6 for(int i = 0; i < num1.length; i++){ 7 for(int k = 0; k < num1.length-i-1; k++){ 8 if(num1[k] > num1[k+1]){ 9 int temp = num1[k+1]; 10 num1[k+1] =num1[k]; 11 num1[k] = temp; 12 } 13 } 14 } 15 for(int element:num1){ 16 System.out.println(element); 17 } 18 19 System.out.println("\t\t\t===选择排序==="); 20 int[] num2 = {3,9,2,5,8}; 21 //原理:从数组的下标从小到大遍历,然后依次将最小值往前面排 22 for(int i = 0; i < num2.length; i++){ 23 for(int k = i+1; k < num2.length; k++){ 24 if(num2[i] > num2[k]){ 25 int temp = num2[i]; 26 num2[i] =num2[k]; 27 num2[k] = temp; 28 } 29 } 30 } 31 for(int element:num2){ 32 System.out.println(element); 33 } 34 35 System.out.println("\t\t\t===快速排序==="); 36 int[] num3 = {13,6,20,4,8}; 37 //原理:每次将一个待排序的记录,按其关键字的大小插入 38 //到前面已经排好序的元素的适当位置,直到全部的记录插入完成为止。 39 for(int i = 1; i < num3.length; i++){ 40 int temp = num3[i]; 41 for(int k = i-1; k >=0; k--){ 42 if(num3[k] > temp){ 43 num3[k+1] = num3[k]; 44 num3[k] = temp; 45 } 46 } 47 } 48 for(int element:num3){ 49 System.out.println(element); 50 } 51 } 52 }
时间: 2024-10-19 00:12:08