好文档 - 专业文书写作范文服务资料分享网站

C语言版数据结构-希尔排序

天下 分享 时间: 加入收藏 我要投稿 点赞

2. 希尔排序 详细设计

#include #include #include typedef int KeyType; typedef int OtherType; #define Max_Size 5000

typedef struct {

KeyType key;

OtherType other_data; }RecordType;

void ShellInsert(RecordType r[], int length, int delta)

/*对记录数组r做一趟希尔插入排序,length为数组的长度,delta 为增量*/ {

int i,j;

for(i=1+delta;i<=length;i=i+delta)

//1+delta为第一个子序列的第二个元素的下标 if(r[i].key

RecordType t;

t=r[i]; //备份r[i]

for(j=i;j>0 && t.key

void ShellSort(RecordType r[], int length, int delta[], int n)

/*对记录数组r做希尔排序,length为数组r的长度,delta 为增量数组,n为delta[]的长度 */ {

for(int i=0;i

ShellInsert(r,length,delta[i]); }

void main() {

int i;

RecordType r[Max_Size]; int len;

1 / 2

int delta[4]={6,4,2,1};

printf(\请输入待排序记录的长度:\ scanf(\

srand((unsigned)time(NULL)); for(i=1;i<=len;i++) r[i].key =rand();

printf(\待排序记录:\\n\ for(i=1;i<=len;i++)

printf(\ printf(\

ShellSort(r,len,delta,4); printf(\排序后的记录:\\n\ for(i=1;i<=len;i++)

printf(\ printf(\}

测试结果

2 / 2

C语言版数据结构-希尔排序

2.希尔排序详细设计#include#include#includetypedefintKeyType;typedefintOtherType;#defineMax_Size5000typedefstruct{KeyTypekey;
推荐度:
点击下载文档文档为doc格式
38cr57uqsv721et5ixox47ty70kcsx004yw
领取福利

微信扫码领取福利

微信扫码分享