商城网站营销方案,怎么开通微信小程序商店,体育网站开发的目的,公司内网网站建设排序总结
快速排序基本思路#xff1a; 基本思想#xff1a; 1#xff09;选择一个基准元素,通常选择第一个元素或者最后一个元素, 2#xff09;通过一趟排序讲待排序的记录分割成独立的两部分#xff0c;其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值…排序总结
快速排序基本思路 基本思想 1选择一个基准元素,通常选择第一个元素或者最后一个元素, 2通过一趟排序讲待排序的记录分割成独立的两部分其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。 首先从后往前寻找比基准元素小的值 移动 然后从前往后寻找比基准元素大的值 移动 循环 直到ij 3此时基准元素在其排好序后的正确位置 4然后分别对这两部分记录用同样的方法继续进行排序直到整个序列有序。 快速排序图解
void quickSort(int a[],int low,int high) {int i, j, pivot;if (low high) {pivot a[low];i low;j high;while (i j) {while (i j a[j] pivot) //从右往左找一个小于基准值数j--;if (i j)a[i] a[j];while (i j a[i] pivot) //从左往右找一个大于基准值的数i;if (i j)a[j--] a[i];}a[i] pivot;quickSort(a, low, i - 1);quickSort(a, i 1, high);}
}排序的全过程 2、归并排序图解
//合并算法
void merge(int arr[], int start, int end, int mid, int *temp) {int i_start start;int i_end mid;int j_start mid 1;int j_end end;int length 0; //表示辅助空间有多少个元素while (i_start i_end j_start j_end) {if (arr[i_start] arr[j_start])temp[length] arr[i_start];elsetemp[length] arr[j_start];}while (i_start i_end)temp[length] arr[i_start];while (j_start j_end) //必须加等于temp[length] arr[j_start];for (int i 0; i length; i)将排好序的存回arr中start到end这区间{arr[start i] temp[i];}
}
void mergeSort(int arr[], int start, int end, int *temp) {if (start end)return;int mid (start end) / 2;mergeSort(arr, start, mid, temp);mergeSort(arr, mid 1, end, temp);//合并merge(arr, start, end, mid, temp);
}
void testMergeSort() {int arr[] { 3,5,9,6,1,8,0,4,2 };int length sizeof(arr) / sizeof(int);int* temp (int *)malloc(sizeof(int)*length);mergeSort(arr, 0, length - 1, temp);printArray(arr,length);
}3、插入排序图解
void insertSort() {int a[] { 3,5,9,6,1,8,0,4,2 };int length sizeof(a) / sizeof(a[0]);int j;for (int i 1; i length; i){int temp a[i];for (j i - 1; j 0 tempa[j]; j--){a[j 1] a[j];}a[j 1] temp;}printArray(a, length);
}4、希尔排序图解
void shellSort2() { //面试书int a[] { 3,5,9,6,1,8,0,4,2 };int length sizeof(a) / sizeof(a[0]);int h ,i,j;for (hlength/2; h0; hh/2){for (i h; i length; i){int temp a[i];for (j i-h; j 0 tempa[j]; j-h){a[j h] a[j];}a[j h] temp;}}printArray(a, length);
}参考自https://blog.csdn.net/aabbcc132/article/details/88540291