基础排序之归并排序
来源:互联网 发布:python 并行计算 编辑:程序博客网 时间:2024/05/29 11:30
写了归并排序,以防以后需要。
</pre><pre name="code" class="cpp">#include "iostream"using namespace std;void MergeSort(int array[],int left,int mid , int right ,int temp[]){int i = left;int j = mid + 1;int MID = mid;int FIN = right;int k = 0;while(i <= MID && j <= FIN){if (array[i] <= array [j]){temp[k++] = array[i++];}else{temp[k++] = array[j++];}}while(i <= MID){temp[k++] = array[i++];}while(j <= FIN){temp[k++] = array[j++];}for (int i = 0; i < k; ++i){array[left + i] = temp[i];}}void Merge(int array[],int left,int right ,int temp[]){if (left < right){int mid = (left + right)/2;Merge(array,left,mid,temp);Merge(array,mid + 1,right,temp);MergeSort(array,left,mid,right,temp);}}bool ifMergeSort(int a[], int n) { int *p = new int[n]; if (p == NULL) return false; Merge(a, 0, n - 1, p); return true; } int main(int argc, char const *argv[]){int TestArray[] = {10,7,5,3,6};const int MAXNumber = 5;ifMergeSort(TestArray,MAXNumber);for (int i = 0; i < 5; ++i) { cout<<TestArray[i]<<endl; } return 0;}
0 0
- 基础排序之归并排序
- java基础之归并排序
- 算法基础之归并排序
- 算法基础之排序篇-归并排序
- 【基础排序】归并排序
- 基础排序:归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- 排序之归并排序
- MySQL数据库的维护、备份和恢复
- Step into Scala - 25 - Actor
- 勿忘初心,方得始终
- Step into Redis- 09 - 主从复制
- iOS 获取手机的型号,系统版本,软件名称,软件版本
- 基础排序之归并排序
- java中基本输入输出流的解释
- visual studio code使用------ 代码提示
- RGB和HSL色彩的相互转换
- 粒子系统
- Junit Unrooted Tests 分析
- 如何为cookie设置HttpOnly
- E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。 E: 无法更正依赖关系
- UML建模之时序图