八大排序
给你笑一下
这个作者很懒,什么都没留下…
展开
-
直接插入排序(Straight Insertion Sort)
public static void paixu(int a[],int n){ for(int i=1; i<n; i++){ if(a[i] < a[i-1]){ //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入 int j = 0; i...原创 2018-08-07 11:41:55 · 187 阅读 · 0 评论 -
希尔排序(Shell`s Sort)
//近似直接插入排序,只是将相隔dk距离的所有数据进行插入排序 public static void shellSort(int a[],int n,int dk){ for(int i=dk; i<n; i+=dk){ if(a[i] < a[i-dk]){ int j = 0; ...原创 2018-08-07 11:44:23 · 176 阅读 · 0 评论 -
简单选择排序(Simple Selection Sort)
public static void paixu(int a[],int n){ for (int i=0; i<n; i++){ for (int j=i+1; j<n; j++){ if(a[i]>a[j]){ int t = a[i]; ...原创 2018-08-07 11:45:10 · 221 阅读 · 0 评论 -
堆排序(Heap Sort)
//调整待调整位置结点 public static void heapAdjust(int a[], int i, int length){ int demo = a[i]; //待调整位置结点 int child = 2*i+1; //左孩子结点的位置。 while (child<length){ ...原创 2018-08-07 11:46:18 · 260 阅读 · 0 评论 -
冒泡排序(Bubble Sort)
public static void paixu(int a[],int n){ //确定循环次数 for (int i=0; i<n; i++){ //确定每次循环的区域 for (int j=0; j<n-i-1; j++){ //满足条件则交换 ...原创 2018-08-07 11:49:17 · 190 阅读 · 0 评论 -
快速排序(Quick Sort)
public static void paixu(int a[], int low, int high){ int i = low; int j = high; int base = a[low];//设置基准值 if(low<high){ //从右边开始循环,找到比基准值小的,否则high-- ...原创 2018-08-07 11:56:15 · 145 阅读 · 0 评论 -
归并排序(Merge Sort)
public static void mergeSort(int[] arr) { mSort(arr, 0, arr.length-1); } /** * 递归分治 * @param arr 待排数组 * @param left 左指针 * @param right 右指针 */ public stat...原创 2018-08-07 12:10:25 · 326 阅读 · 0 评论