排序算法之归并排序
来源:互联网 发布:t型匹配网络 ads 编辑:程序博客网 时间:2024/06/06 17:04
归并排序:
排序类别
排序方法
时间复杂度
空间复杂度
稳定性
平均情况
最坏情况
最好情况
归并排序
归并排序
O(nlog2n)
O(nlog2n)
O(nlog2n)
O(n)
稳定
代码:
#include <iostream>#include <cstdio>using namespace std;void Merge(int Array[], int start, int mid, int end){ int i = start; int j = mid + 1; int k = 0; int temp[end - start + 1]; while(i <= mid && j <= end){ if(Array[i] <= Array[j]){ temp[k++] = Array[i++]; } else{ temp[k++] = Array[j++]; } } while(i <= mid){ temp[k++] = Array[i++]; } while(j <= end){ temp[k++] = Array[j++]; } for(int i = 0; i < k; i++){ Array[start+i] = temp[i]; }}void MergeSort(int Array[], int start, int end){ if(start >= end){ return ; } int mid = (start + end) >> 1; MergeSort(Array, start, mid); MergeSort(Array, mid+1, end); Merge(Array, start, mid, end);}int main(){ int a[] = {1,3,6,5,9,2,8,7,0,4}; MergeSort(a, 0, 9); for(int i = 0; i < 10; i++){ cout << a[i] << " "; }}
0 0
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- 排序算法之归并排序
- Java NIO 学习(六)--Selector
- IntelliJ IDEA 缺少 javax 包 支持
- 安卓5.0之后新的高级控件-------textinputlayout
- OpenGL学习笔记6:高级纹理知识
- 可能返回 null 的 SQL 语句
- 排序算法之归并排序
- 【linux c】Linux c内存管理——你的数据放在哪_学习笔记_009
- 精通CSS.DIV网页样式与布局(一)
- 开始写博客了
- shell编程基础笔记
- UVA 11243 Texas Trip ------ UVALIVE 3954 Phone Cell
- 关于sqrt()函数的一个很尴尬的细节……
- (巨坑)长期经验总结
- Android中的IntentFilter