希尔排序
来源:互联网 发布:管家婆进销存软件 价格 编辑:程序博客网 时间:2024/06/10 03:45
#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;typedef struct{ int *r; int length;} sqlist;void createlink(sqlist &L){ int n; L.length=0; cout<<"输入链表长度:"<<endl; cin>>n; L.r=(int*)malloc((n+1)*sizeof(int)); int i; cout<<"输入链表元素:"<<endl; for(i=1; i<=n; i++) { cin>>L.r[i]; ++L.length; }}void print(sqlist &L){ int i; cout<<"输出链表元素:"<<endl; for(i=1; i<=L.length; i++) cout<<L.r[i]<<" "; cout<<"\n";}void shellinsert(sqlist &L,int dk){ int i,j; for(i=dk+1; i<=L.length; ++i) if(L.r[i]<L.r[i-dk]) { L.r[0]=L.r[i]; for(j=i-dk; j>0&&L.r[0]<L.r[j]; j-=dk) { L.r[j+dk]=L.r[j]; } L.r[j+dk]=L.r[0]; }}void shellsort(sqlist &L){ createlink(L); int len; int k; int dlta[105]; cout<<"输入增量序列长度:"; cin>>len; cout<<"输入增量序列元素:\n"; for(k=0; k<len; k++) cin>>dlta[k]; for(k=0; k<len; k++) shellinsert(L,dlta[k]); cout<<"希尔排序:\n"; print(L);}int main(){ sqlist l; shellsort(l); return 0;}
注意:增量序列中最后一个增量值必须等于1!
阅读全文
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 码云 myeclipse配置
- 2017-11-22每日一练
- C++分布式实时应用框架——系统管理模块
- vue的route路游-界面导航-一级路游
- 循环神经网络RNN:时间序列数据的首选神经网络
- 希尔排序
- RunLoop已入门?赶紧来应用一下
- android 多线程断点续传下载
- 购物车二级列表
- 深度学习---之pooling层的作用与缺陷
- Linux命令
- robotframework自动化系列:删除操作流程以及总结
- ART异常处理机制(2)
- hibernate框架的查询优化(二十三)