1 package com.cr.excecise; 2 3 public class Sort { 4 5 public static void main(String[] args) { 6 int num[] = {1,231,4,65,7,8,0,232,151,734,32131}; 7 //quickSort(num,0,10); 8 //bubbleSort(num); 9 insertionSort(num,0,10); 10 for(int temp:num) System.out.print(temp+" "); 11 } 12 13 14 //快速排序 15 static void quickSort(int []num, int begin, int end){ 16 if(begin>=end) return; 17 int i= begin; 18 int j= end; 19 int key = num[i]; 20 21 while(i<j){ 22 while(i<j&&num[j]>=key) 23 j--; 24 if(i<j) 25 num[i++]=num[j]; 26 while(i<j&&num[i]<=key) 27 i++; 28 if(i<j) 29 num[j--]=num[i]; 30 } 31 num[i]=key; 32 if(begin<i-1) 33 quickSort(num,begin,i-1); 34 if(i+1<end) 35 quickSort(num,i+1,end); 36 } 37 //冒泡排序 38 static void bubbleSort(int []num){ 39 int length = num.length; 40 for(int i=0;i<length;i++){ 41 for(int j=0;j<length-i-1;j++){ 42 int temp = num[j]; 43 if(num[j+1]<num[j]){ 44 num[j] = num[j+1]; 45 num[j+1] = temp; 46 } 47 } 48 } 49 } 50 51 52 //插入排序 53 static void insertionSort(int []num,int begin,int end){ 54 int temp,j; 55 for(int i=begin+1;i<=end;i++){ 56 temp = num[i]; 57 j=i-1; 58 59 while(j>begin&&num[j-1]>temp){ 60 num[j] = num[j-1]; 61 j--; 62 } 63 num[j] = temp; 64 } 65 } 66 67 }
记住这三种常用的排序方法!
浙公网安备 33010602011771号