排序算法
内部排序(内存)
插入排序(直接插入 希尔排序)
选择排序(简单选择 堆排序)
交换排序(冒泡 快排)
归并排序
基数排序
外部排序(外部存储)
主要考虑时间复杂度,用空间换时间(缓存)
package 排序; public class 快排 { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr= {1,9,6,7,3,4,5}; quicksort(arr, 0, 6); for(int i=0;i<7;i++) { System.out.print(arr[i]+" "); } } public static void quicksort(int[] arr, int left,int right) { if(left>=right)return;//必须要有 否则栈溢出 int l=left; int r=right; int key=arr[left]; int tmp=0; while(l<r) { while(arr[l]<key&&l<r) { l++; } while(arr[r]>key&&l<r) { r--; } if(l<r) { tmp=arr[l]; arr[l]=arr[r];; arr[r]=tmp; } } arr[l]=key; quicksort(arr, left, l-1); quicksort(arr, l+1, right); } }

浙公网安备 33010602011771号