xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

利用多關(guān)鍵字排序進(jìn)行高考分?jǐn)?shù)處理,除了需對總分進(jìn)行排序外,不同的專業(yè)對單科分?jǐn)?shù)的要求不同,因此在總分相同的情況下,按用戶提出的單科分?jǐn)?shù)的次序要求排出考生錄取的次序。 假設(shè)待排序的記錄數(shù)不超過1000,表中記錄的關(guān)鍵字?jǐn)?shù)不超過5,各個關(guān)鍵字的范圍均為0至100。按用戶給定的進(jìn)行排序的關(guān)鍵字的優(yōu)先關(guān)系,輸出排序結(jié)果。

資源截圖

代碼片段和文件信息

#include
#include
#include? //時間函數(shù)頭文件

#define?MAX_NUM_OF_KEY?5 //關(guān)鍵字項數(shù)的最大值
#define?RADIX?101 //關(guān)鍵字基數(shù)
#define?MAX_SPACE?1000
#define?HEADER1?“?????**************學(xué)生成績表******************\n“
#define?HEADER2?“?????|?名次?|?總分?|?數(shù)學(xué)?|?英語?|?語文?|?理綜?|\n“
#define?HEADER3?“?????|------|------|------|------|------|------|\n“
int?j[4]={4444};

typedef?struct{
int?keys[MAX_NUM_OF_KEY]; //關(guān)鍵字
int?next; //下一個的數(shù)組下標(biāo)
}SLCell;
typedef?struct{
SLCell?r[MAX_SPACE]; //靜態(tài)鏈表的可利用空間,r[0]為頭結(jié)點
int?keynum; //記錄的當(dāng)前關(guān)鍵字個數(shù)
int?recnum; //記錄的個數(shù)
}SLList;

SLList?Creat() //接收考生的各科成績
{
SLList?*l;
int?i=1k=1;
l=(SLList*)malloc(sizeof(SLList));
l->keynum=5;
l->recnum=0;
while(k==1) //判斷是否繼續(xù)輸入
{
printf(“請輸入學(xué)生數(shù)學(xué)、英語、語文、理綜分?jǐn)?shù)\n“);
scanf(“%d?%d?%d?%d“&(l->r[i].keys[1])&(l->r[i].keys[2])&(l->r[i].keys[3])&(l->r[i].keys[4]));
l->r[i].keys[0]=(l->r[i].keys[1]+l->r[i].keys[2]+l->r[i].keys[3]+l->r[i].keys[4]); //總分?
(l->recnum)++;
printf(“繼續(xù)輸入考生成績則輸入1,否則輸入0\n“);
scanf(“%d“&k);
i++;
}
return?*l;
}

void?BubbleSort(SLList?&lint?key[]) //LSD冒泡法排序
{
int?yijk;
????SLCell?R;
for(k=3;k>=0;k--) //根據(jù)給出的關(guān)鍵字順序按LSD法對各科成績進(jìn)行排序??????????????????
{
i=key[k];
for(y=0;y for(j=1;j {
if(l.r[j].keys[i] {
R=l.r[j];
l.r[j]=l.r[j+1];
l.r[j+1]=R;
}
}
}
for(y=0;y for(j=1;j {
if(l.r[j].keys[0] {
R=l.r[j];
l.r[j]=l.r[j+1];
l.r[j+1]=R;
}
}
for(i=0;i<=l.recnum;i++)?
l.r[i].next=i+1;
l.r[l.recnum+1].next=0; //將l改造為靜態(tài)鏈表
}


void?Distribute(SLCell?*rint?iint?*fint?*e)
//以下標(biāo)為i的關(guān)鍵字為準(zhǔn)做一趟分配:按第i個關(guān)鍵字keys[i]建立RADIX個子表,使同一子表中記錄的keys[i]相同
{
int?jp;
for(j=RADIX-1;j>=0;--j)?f[j]=0; //各字表初始化為空表
for(p=r[0].next;p;p=r[p].next)
{
j=r[p].keys[i];
if(!f[j])?f[j]=p;
else?r[e[j]].next=p;
e[j]=p; //將下標(biāo)p所指的節(jié)點插入第j個子表中
}
}

void?Collect(SLCell?*rint?iint?*fint?*e)
//做一趟收集:按keys[i]自小到大地將各子表依次鏈接成一個鏈表
{
int?jt;
for(j=RADIX-1;!f[j];j--); //找第一個非空子表
r[0].next=f[j]; //r[0].next指向第一個非空子表中的第一個結(jié)點
t=e[j];
while(j>=0){
for(j--;j>0&&!f[j];j--); //找下一個非空子表
if(f[j]&&j>=0){r[t].next=f[j];t=e[j];}?//鏈接兩個非空子表
}
r[t].next=0; //t指向最后一個非空子表中的最后一個結(jié)點
}

void?RadixSort(SLList?*l) //對*l中的成績做鏈?zhǔn)交鶖?shù)排序
{
int?f[101]e[101]; //f[i]和e[i]分別為第i個隊列的頭指針和尾指針
int?i;
for(i=0;i<(l->recnum);i++)?
l->r[i].next=i+1;
l->r[l->recnum].next=0; //將l改造為靜態(tài)鏈表
for(i=3;i>=0;--i) //按最低位優(yōu)先依次對各關(guān)鍵字進(jìn)行分配和收集?
{
Distribute(l->rj[i]fe); //第i趟分配
Collect(l->rj[i]fe); //第i趟收集
}
}

void?ShowRank(SLList?*l) //按名次順序輸出考生的名次和分?jǐn)?shù)
{
int?rank=1i; //名次
printf(“考生名次和分?jǐn)?shù)分別為:\n\n\n\n“);
printf(HEADER1); //格式輸出
printf(HEADER3);
printf(HEADER2);
printf(HEADER3);
for(i=l->r[0].next;rank<=l->recnum;rank++)
{
printf(“?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????213038??2011-03-10?21:31??多關(guān)鍵字排序\Debug\DisCol.exe

?????文件?????203320??2011-03-10?21:31??多關(guān)鍵字排序\Debug\DisCol.ilk

?????文件??????13261??2011-03-10?21:31??多關(guān)鍵字排序\Debug\DisCol.obj

????I.A....????223764??2011-03-10?21:31??多關(guān)鍵字排序\Debug\DisCol.pch

?????文件?????476160??2011-03-10?21:31??多關(guān)鍵字排序\Debug\DisCol.pdb

?????文件??????50176??2011-03-10?21:33??多關(guān)鍵字排序\Debug\vc60.idb

?????文件??????53248??2011-03-10?21:31??多關(guān)鍵字排序\Debug\vc60.pdb

?????文件???????5142??2011-03-10?21:20??多關(guān)鍵字排序\DisCol.cpp

?????文件???????3401??2011-03-09?22:01??多關(guān)鍵字排序\DisCol.dsp

?????文件????????518??2011-03-09?22:02??多關(guān)鍵字排序\DisCol.dsw

?????文件??????50176??2011-03-10?22:39??多關(guān)鍵字排序\DisCol.ncb

?????文件??????53760??2011-03-10?22:39??多關(guān)鍵字排序\DisCol.opt

?????文件????????746??2011-03-10?21:31??多關(guān)鍵字排序\DisCol.plg

?????文件?????100352??2011-03-10?22:51??多關(guān)鍵字排序\付樂穎——數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.doc

?????目錄??????????0??2011-03-10?21:31??多關(guān)鍵字排序\Debug

?????目錄??????????0??2011-03-10?22:53??多關(guān)鍵字排序

-----------?---------??----------?-----??----

??????????????1447062????????????????????16


評論

共有 條評論

相關(guān)資源