![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
zhi_tong
这个作者很懒,什么都没留下…
展开
-
排序算法之选择排序
/* 2.选择排序 最佳情况:T(n) = O(n2) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2) */ void selectiveSort(int* arrays, int n) { int temp, m, k; for(int i = 0; i < n - 1; i++) { m = arrays[i]; ...原创 2019-07-28 13:13:24 · 156 阅读 · 0 评论 -
排序算法之冒泡排序
/* 1.冒泡排序算法 最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2) */ void bubbleSort(int* arrays, int n) { int temp; for(int i = 0; i < n - 1; i++) { for(int j = 0; j < n - i ...原创 2019-07-28 13:09:24 · 148 阅读 · 0 评论 -
排序算法之插入排序
/* 3.插入排序 最佳情况:T(n) = O(n) 最坏情况:T(n) = O(n2) 平均情况:T(n) = O(n2) */ void inserSort(int* arrays, int n) { int temp, i = 0, j = 0; for(i = 1; i < n; i++) { temp = arrays[i]; j ...原创 2019-07-28 13:16:25 · 149 阅读 · 0 评论 -
排序算法之希尔排序
/* 4.希尔排序 最佳情况:T(n) = O(nlog2 n) 最坏情况:T(n) = O(nlog2 n) 平均情况:T(n) =O(nlog2n) */ void shellSort(int* arrays, int n) { int gap, k, j, t; for(gap = n / 2; gap > 0; gap = gap / 2) { fo...原创 2019-07-28 13:17:20 · 140 阅读 · 0 评论 -
排序算法之归并排序
/* 5.归并排序 最佳情况:T(n) = O(n) 最差情况:T(n) = O(nlogn) 平均情况:T(n) = O(nlogn) */ /* 将两个有序的数组合并 */ void toMerge(int* arrays, int l, int mid, int r, int* temp) { int i = l, j = mid + 1, k = 0; while(i ...原创 2019-07-28 13:18:10 · 231 阅读 · 0 评论 -
排序算法之快速排序
/* 6.快速排序 最佳情况:T(n) = O(nlogn) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(nlogn) */ void quickSort(int* arrays, int l, int r) { if(l < r) { int i = l, j = r, x = arrays[i]; while(i < ...原创 2019-07-28 13:18:55 · 172 阅读 · 0 评论 -
排序算法之计数排序
/* 8.计数排序 计数排序假设n个输入元素中的每一个元素介于0 到 K 之间的整数 */ void countingSort(int* arrays, int n) { int p = arrays[0]; for(int i = 1; i < n; i++) { p = max(p, arrays[i]); } int len = p +...原创 2019-07-28 13:19:47 · 152 阅读 · 0 评论 -
排序算法之基数排序
/* 10.基数排序 最佳情况:T(n) = O(n * k) 最差情况:T(n) = O(n * k) 平均情况:T(n) = O(n * k) */ int maxbit(int* arrays, int n) { int d = 1; int p = 10; for(int i = 0; i < n; i++) { while(arrays[...原创 2019-07-28 13:21:01 · 270 阅读 · 0 评论 -
排序算法之堆排序
/* 7.堆排序 最佳情况:T(n) = O(nlogn) 最差情况:T(n) = O(nlogn) 平均情况:T(n) = O(nlogn) */ /* 从i节点开始调整,n为节点总数 从0开始计算 i节点的子节点为 2*i+1, 2*i+2 n是数组的大小*/ void MinHeapFixdown(int a[], int i, int n) { for(int j = 2 *...原创 2019-07-28 19:07:17 · 213 阅读 · 0 评论