16.Java排序测试代码(冒泡、插入、选择、希尔、快速排序)
2019-03-28 11:03
197 查看
版权声明:作者:changshuchao https://blog.csdn.net/changshuchao/article/details/88864540
public class SortTest { public static void bubbleSort(int[] array){ //后续补充 } public static void insertSort(int[] array){ //后续补充 } public static void chooseSort(int[] array){ //后续补充 } /*希尔排序~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ public static void shellKnuthSort(int[] array){ int gap = 1; while(gap < array.length/3){ gap = gap*3+1; } // int gap = (array.length-1)/3; while(gap > 0){ int current; for (int i = gap; i < array.length; i+=gap) { current = array[i]; int j = i-1; while(j>=0 && array[j]>current){ array[j+1] = array[j]; j--; } array[j+1] = current; } gap = (gap-1)/3; } for (int i = 0; i < array.length ; i++) { System.out.print(array[i] +" => "); } } /*快速排序~~~~~~~~~~~~~~~~~~*/ public static int quickSortProcess(int[] array , int start,int end){ /*选中当前序列的第一个作为基准值*/ int i = start+1; int j = end; int standard = array[start]; while(true){ while(i<end && array[i] < standard){ i++; } while (j>start && array[j] > standard){ j--; } if(j <= i){ break; }else { int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } } array[start] = array[j]; array[j] = standard; return j; } public static void quickSort(int[] array, int start,int end){ if(end <=start){ return; }else { int divide = quickSortProcess(array,start,end); quickSort(array,start,divide-1); quickSort(array,divide+1,end); } } public static void main(String[] args) { // shellKnuthSort(new int[]{4,2,8,9,5,7,6,1,3,10}); int[] array = new int[]{4,2,8,9,5,7,6,1,3,10}; quickSort(array,0,9); for (int i = 0; i < array.length ; i++) { System.out.print(array[i] +" => "); } } }
相关文章推荐
- Java实现数组排序总结篇(冒泡,选择,插入,希尔)
- Java数组排序(冒泡,选择,插入,希尔)
- 冒泡、选择、插入、归并、希尔、快速排序效率比较代码
- java中的排序(选择,冒泡,希尔,插入)
- Java数组排序总结(冒泡,选择,插入,希尔)
- java实现常见排序(选择,冒泡,插入,快速,希尔,堆)
- Java-十种内部排序实现(选择,冒泡,插入,希尔,堆,归并,快速,基数,计数,桶)及代码下载
- 简单选择、冒泡、插入排序思想及Java实现代码
- Java数组排序总结(冒泡,选择,插入,希尔)
- Java实现的排序算法及比较 [冒泡,选择,插入,归并,希尔,快排]
- Java实现数据排序(冒泡、选择、插入、快速排序)---方法持续更新中
- O(N2)的三种排序-- 冒泡、选择、插入(java代码)
- 排序算法Java描述:选择、冒泡、插入、希尔、归并、快速及三向切分快速排序
- java实现七大排序(插入,冒泡,选择,快速,堆,希尔,归并)
- Java数组排序总结(冒泡,选择,插入,希尔)
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- java中的排序(选择,冒泡,希尔,插入)
- 选择,插入,希尔,快速,堆,归并排序六种排序方式的Java 实现和性能对比(付代码)
- Java数组排序总结(冒泡,选择,插入,希尔)
- Java数组排序总结(冒泡,选择,插入,希尔)