shell sort
来源:互联网 发布:如何分析竞价数据 编辑:程序博客网 时间:2024/06/06 03:17
#include <stdio.h>#include <string.h>#include <stdlib.h>int prime[100];int vis[10000];void IsPrime(){ int i, j, cnt=0; prime[cnt++]=1; for(i=2; i<=100; i++){ if(!vis[i]){ for(j=i+i; j<=100; j+=i){ vis[j]=1; } prime[cnt++]=i; } }}void print(int *a, int len){ int i; for(i=0; i<len; i++) printf("%d%c", a[i], i==len-1?'\n':' ');}void shell(int *a, int len){ int step; int i, k; for(k=1; k<=100; k++) if(prime[k]>=len/2) break; for(step=prime[k--]; step>=1; step=prime[k--]){ for(i=0; i<len&&i+step<len; i++){ int temp=a[i+step]; int r=i+step, l=i; while(l>=0){ if(a[l]<a[r]) break; a[r]=a[l]; a[l]=temp; r=l; l--; } } //print(a, len); } return;}int a[1000];int main(){ int n; IsPrime(); while(scanf("%d", &n), n){ int i; for(i=0; i<n; i++){ scanf("%d", &a[i]); } shell(a, n); print(a, n); } return 0;}
阅读全文
0 0
- shell sort
- shell sort
- shell sort
- shell sort
- shell sort
- shell sort
- Shell Sort
- shell sort
- shell sort
- shell sort
- shell sort
- Shell Sort
- Shell Sort
- Shell Sort
- Shell Sort
- [shell]sort
- shell sort
- (转)SHELL SORT
- wincc 7.0往SQL Server写数据心得
- Linux网卡配置
- 【Java作业】Week06
- CAS实现SSO单点登录原理
- 树莓派 开启 ssh
- shell sort
- 多媒体 录制视频
- os模块
- Android N Phone进程启动流程
- 【JAVA】代码重构技巧
- 如何使用sublime的sftp插件链接腾讯云服务器
- 人眼定位--灰度投影Matlab
- 欢迎使用CSDN-markdown编辑器
- Android源码解析(一)Android项目构建过程