当前位置:网站首页>归并排序模板
归并排序模板
2022-08-07 05:16:00 【我在Bilibili上大学】
//归并排序 有空看一下 Timsort
int a[1000] = {4,1,7,8,5,6,3,2,9};
int len = 1000;
void merge(int first,int last)
{
int mid = (last+first)/2;
int i = first,j = mid+1;
int b[last-first+1],bi=0; //搬运
while(i<=mid&&j<=last)
{
if(a[i]<=a[j]) b[bi++] = a[i++];
else b[bi++] = a[j++];
}
while(i<=mid&&!(j<=last)) b[bi++] = a[i++];
while(!(i<=mid)&&j<=last) b[bi++] = a[j++];
for(i=first,j=0;i<=last;i++,j++)
a[i] = b[j];
}
void merge_sort(int first,int last)
{
if(first>=last) return ;
merge_sort(first,(last+first)/2);
merge_sort((last+first)/2+1,last);
merge(first,last);
}
int main()
{
srand(time(NULL));
for(int i=0;i<len;i++)
a[i] = rand();
merge_sort(0,len-1);
for(int i:a)
cout<<i<<endl;
return 0;
}
边栏推荐
猜你喜欢
随机推荐
網絡安全学习:网络配置与远程管理
【Over Design】工厂模式——漂浮文字
Redis
MySQL主从复制
UART串口协议
【继承 、父类引用: super|| 权限修饰符:private、protected、默认、public || 状态修饰符:static、final】
banner 如何显示drawable图片
STM32按键输入实验
基于STC8G2K64S4单片机通过I2C硬件控制OLED屏幕
一、循环,选择语句的细节。基本数据类型,和引用数据类型作为方法的参数的区别笔记
操作zip压缩文件
【ArrayList、LinkedList使用get()方法获取元素时的效率对比,以及源码分析】
智能机器人制作全攻略
序列数据和文本的深度学习
mysql获取近7天,7周,7月,7年日期,根据当前时间获取近7天,7周,7月,7年日期
【计网基础】OSI七层模型及各层相关协议
四路电机驱动
PyTorch已为我们实现了大多数常用的非线性激活函数
rv和sv的区别
Google Test使用简介









