博客
关于我
SCAU 8640 希尔(shell)排序
阅读量:389 次
发布时间:2019-03-05

本文共 807 字,大约阅读时间需要 2 分钟。

魔改后的选择排序

相当于将n个数分组后,再每组去选择排序

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define _for(i,a,b) for(int i=(a) ;i<=(b) ;i++)#define _rep(i,a,b) for(int i=(a) ;i>=(b) ;i--)#define mst(v,s) memset(v,s,sizeof(v))#define pb push_back#define IOS ios::sync_with_stdio(false)#define int long longtypedef long long ll;const int N=1e5+10;int n;int a[N];void print(){ _for(i,1,n) cout<
<<" "; cout<
=1 )//找到第一个≥temp的位置 { j -= d; } int k = j+d; //找到后将它后面的元素向后移动“一位”d for(int j=i ;j>k ;j-=d) { a[j] = a[j-d]; } //放置到正确位置上 a[k] = temp; }}signed main(){ ///!!!// freopen("data.txt","r",stdin); //!!! cin>>n; _for(i,1,n) cin>>a[i]; int d=n>>1; while( d ) { shell(d); //增量每次减半 d/=2; //输出一趟排序后的序列 print(); }}

 

转载地址:http://kxxwz.baihongyu.com/

你可能感兴趣的文章
node+express+mysql 实现登陆注册
查看>>
Node+Express连接mysql实现增删改查
查看>>
node, nvm, npm,pnpm,以前简单的前端环境为什么越来越复杂
查看>>
Node-RED中Button按钮组件和TextInput文字输入组件的使用
查看>>
vue3+Ts 项目打包时报错 ‘reactive‘is declared but its value is never read.及解决方法
查看>>
Node-RED中Slider滑杆和Numeric数值输入组件的使用
查看>>
Node-RED中Switch开关和Dropdown选择组件的使用
查看>>
Node-RED中使用exec节点实现调用外部exe程序
查看>>
Node-RED中使用function函式节点实现数值计算(相加计算)
查看>>
Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>