第一范文网 - 专业文章范例文档资料分享平台

大数据结构课程设计—内部排序算法比较

来源:用户分享 时间:2025/8/17 12:00:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实用标准文案

#include #include #include

#define MAXNUM 100 #define RADIX 10 #define MAX 8

#define MAX_SPACE 10000 typedef int KeysType; typedef struct { KeysType keys[MAX]; int next; }SLCell;

typedef struct {

SLCell r[MAX_SPACE]; int keynum; int recnum; }SLList;

typedef int ArrType[RADIX];

typedef struct { int key; } datatype;

datatype R[MAXNUM];//定义结构体数组 int cn[11]={0}; int mn[11]={0};

void CreateSLList(SLList &L,int n,datatype R[ ]) //基数排序 { L.recnum=n; L.keynum=3; mn[10]+=2;

//printf(\ //scanf(\

//printf(\ //scanf(\

//printf(\ for(int i=1;i<=L.recnum;i++) { cn[10]++;

int j=L.keynum-1;

精彩文档

实用标准文案

L.r[i].keys[j--]=R[i].key/100; L.r[i].keys[j--]=R[i].key0/10; L.r[i].keys[j]=R[i].key; mn[10]+=3; }

for(i=0;i

L.r[i].next=i+1; cn[10]++; mn[10]++; }

L.r[L.recnum].next=0; mn[10]++; }

void Display(SLList L) //基数排序 { L.keynum=3; mn[10]++;

for(int i=L.r[0].next;i;i=L.r[i].next) {

cn[10]++;

for(int j=L.keynum-1;j>=0;j--) {

printf(\ cn[10]++; } cn[10]++; printf(\ } cn[10]++; printf(\ }

void Distribute(SLCell (&r)[MAX_SPACE],int i,ArrType &f,ArrType &e) //基数排序 {

int j,p;

for(j=0;j

精彩文档

实用标准文案

} cn[10]++;

for(p=r[0].next;p;p=r[p].next) { cn[10]++; j=r[p].keys[i]; mn[10]++; if (!f[j]) {

f[j]=p; mn[10]++; } else { r[e[j]].next=p; mn[10]++; }

e[j]=p; mn[10]++; } cn[10]++; }

void Collect(SLCell (&r)[MAX_SPACE],int i,ArrType f,ArrType e) //基数排序 {

int j,t;

for(j=0;!f[j];j++); { cn[10]++; r[0].next=f[j]; mn[10]++; }

cn[10]++; t=e[j]; mn[10]++;

while (j

for(j++;j

r[t].next=f[j];

精彩文档

实用标准文案

t=e[j]; mn[10]+=2; } } cn[10]++; } cn[10]++; r[t].next=0; mn[10]++; }

void RadixSort(SLList &L) //基数排序 {

int i; L.keynum=3; mn[10]++; ArrType f,e;

for(i=0;i

Distribute(L.r,i,f,e); Collect(L.r,i,f,e);

//printf(\第%d趟收集后:\\n\ //Display(L); printf(\ } cn[10]++; }

void A(datatype R[ ], int n)//基数排序**** { SLList L;

CreateSLList(L, n,R);

//printf(\排序前的结果是:\\n\ //Display(L); RadixSort(L);

//printf(\排序后的结果是:\\n\ //Display(L); }

void D_InsertSort(datatype R[ ], int n)//直接排序 {

int i,j;

精彩文档

大数据结构课程设计—内部排序算法比较.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c97izx9irbm4mn0g1mmp04oweh0q68m00oot_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top