首页 > 代码库 > 排序练习

排序练习

插入排序

	public static int[] insert_sort(int arr[]){				int i = 0,temp;               //插入排序 		for(int j = 1;j<arr.length ;j++){  //遍历外层循环,从第2个数开始			temp=arr[j];                       			i=j-1;			while(i>0 && arr[i]>temp){				arr[i+1]=arr[i];				i--;			}			arr[i+1]=temp;		}		return arr;			}

冒泡排序

	   public static void bubbleSort(int arr[]){		 		   int temp = 0 ;		   for(int i = 0 ;i<arr.length-1;i++){			 for(int j = 0 ; j<arr.length-1-i;j++){				 if(arr[j+1]<arr[j]){					 temp=arr[j+1];					 arr[j+1] =arr[j]; 					 arr[j]=temp;				 }			 }		 }		   	   }

 插入排序

 public static void swap(int a[], int i, int j) {    	if(i == j) return;        int tmp = a[i];        a[i] = a[j];        a[j] = tmp;    }	public static int partition(int arr[],int start,int end){		int i=start-1;		int key = arr[end];		for(int j = 0 ; j<end;j++){			if(arr[j]<key){								i++;				swap(arr, i, j);					}		}		swap(arr, i+1, end);		return i+1;	}		   public static void quickSort(int array[], int start, int end) {	        if (start< end) {	            int p = partition(array, start, end);	            quickSort(array, start, p - 1);	            quickSort(array, p + 1, end);	 	        }	    }

 

 

 

排序练习