我们简单思考两个排序的排序规则
- #include
- using namespace std;
- int main()
- {
- int a;cin>>a;
- int b[a];
- int c[a];
- int i,i1;
- if(i1==a)
- {
- cout << "Insertion Sort" << endl;
- sort(b,b+i+2);//将其进行下一次直接插入排序这里直接用sort模拟了
- }
- else
- {
- cout << "Merge Sort" << endl;//如果不是就是直接插入排序就是归并排序了
- int flag=1;//这个值是为了判断b中的序列是否排到了c序列的样子
- int xu=1;//排序用的键值 2 4 8 16序列长度依次变化
- while(flag)
- {
- flag=0;
- {
- if(b[i]!=c[i])flag=1;//如果还没有变成c序列的样子就再将flag变成1
- }
- xu<<=1;
- {
- sort(b+i*xu,b+(i+1)*xu);//利用归并排序的子方法2 4为子序列长度开始排序
- }
- i=xu*(a/xu);//看看有没有剩余的序列
- if(i!=a)//如果有的话就再把剩余序列排了
- {
- sort(b+i,b+a);
- }
-
- }
- }
- cout<0];//最后输出
-
-
相关阅读:
C语言 || volatile
超越任务调度的极致:初探分布式定时任务 XXL-JOB 分片广播
矩阵乘积的迹对矩阵求导
前端进击笔记第三节 CSS:页面布局的基本规则和方式
屏蔽机房与普通机房有什么不同?
01 计算机图形学概述
2022年全球及中国刹车片行业头部企业市场占有率及排名调研报告
pytorch的searchsorted解释
生产依赖与开发依赖区别: 前端程序没有区别,后端程序有点区别
PHP 字符串常用函数
-
原文地址:https://blog.csdn.net/asasa666/article/details/126334971