亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? alg10-11.c

?? 第七章到第十二章的代碼實(shí)現(xiàn)
?? C
字號(hào):
 /* alg10-11.c 鏈?zhǔn)交鶖?shù)排序 */
 typedef int InfoType; /* 定義其它數(shù)據(jù)項(xiàng)的類型 */
 typedef int KeyType; /* 定義RedType類型的關(guān)鍵字為整型 */
 typedef struct
 {
   KeyType key; /* 關(guān)鍵字項(xiàng) */
   InfoType otherinfo; /* 其它數(shù)據(jù)項(xiàng) */
 }RedType; /* 記錄類型(同c10-1.h) */
 typedef char KeysType; /* 定義關(guān)鍵字類型為字符型 */
 #include"c1.h"
 #include"c10-3.h"
 void InitList(SLList *L,RedType D[],int n)
 { /* 初始化靜態(tài)鏈表L(把數(shù)組D中的數(shù)據(jù)存于L中) */
   char c[MAX_NUM_OF_KEY],c1[MAX_NUM_OF_KEY];
   int i,j,max=D[0].key; /* max為關(guān)鍵字的最大值 */
   for(i=1;i<n;i++)
     if(max<D[i].key)
       max=D[i].key;
   (*L).keynum=(int)(ceil(log10(max)));
   (*L).recnum=n;
   for(i=1;i<=n;i++)
   {
     (*L).r[i].otheritems=D[i-1].otherinfo;
     itoa(D[i-1].key,c,10); /* 將10進(jìn)制整型轉(zhuǎn)化為字符型,存入c */
     for(j=strlen(c);j<(*L).keynum;j++) /* 若c的長(zhǎng)度<max的位數(shù),在c前補(bǔ)'0' */
     {
       strcpy(c1,"0");
       strcat(c1,c);
       strcpy(c,c1);
     }
     for(j=0;j<(*L).keynum;j++)
       (*L).r[i].keys[j]=c[(*L).keynum-1-j];
   }
 }

 int ord(char c)
 { /* 返回k的映射(個(gè)位整數(shù)) */
   return c-'0';
 }

 void Distribute(SLCell r[],int i,ArrType f,ArrType e) /* 算法10.15 */
 { /* 靜態(tài)鍵表L的r域中記錄已按(keys[0],...,keys[i-1])有序。本算法按 */
   /* 第i個(gè)關(guān)鍵字keys[i]建立RADIX個(gè)子表,使同一子表中記錄的keys[i]相同。 */
   /* f[0..RADIX-1]和e[0..RADIX-1]分別指向各子表中第一個(gè)和最后一個(gè)記錄 */
   int j,p;
   for(j=0;j<RADIX;++j)
     f[j]=0; /* 各子表初始化為空表 */
   for(p=r[0].next;p;p=r[p].next)
   {
     j=ord(r[p].keys[i]); /* ord將記錄中第i個(gè)關(guān)鍵字映射到[0..RADIX-1] */
     if(!f[j])
       f[j]=p;
     else
       r[e[j]].next=p;
     e[j]=p; /* 將p所指的結(jié)點(diǎn)插入第j個(gè)子表中 */
   }
 }

 int succ(int i)
 { /* 求后繼函數(shù) */
   return ++i;
 }

 void Collect(SLCell r[],ArrType f,ArrType e)
 { /* 本算法按keys[i]自小至大地將f[0..RADIX-1]所指各子表依次鏈接成 */
   /* 一個(gè)鏈表,e[0..RADIX-1]為各子表的尾指針。算法10.16 */
   int j,t;
   for(j=0;!f[j];j=succ(j)); /* 找第一個(gè)非空子表,succ為求后繼函數(shù) */
   r[0].next=f[j];
   t=e[j]; /* r[0].next指向第一個(gè)非空子表中第一個(gè)結(jié)點(diǎn) */
   while(j<RADIX-1)
   {
     for(j=succ(j);j<RADIX-1&&!f[j];j=succ(j)); /* 找下一個(gè)非空子表 */
     if(f[j])
     { /* 鏈接兩個(gè)非空子表 */
       r[t].next=f[j];
       t=e[j];
     }
   }
   r[t].next=0; /* t指向最后一個(gè)非空子表中的最后一個(gè)結(jié)點(diǎn) */
 }

 void printl(SLList L)
 { /* 按鏈表輸出靜態(tài)鏈表 */
   int i=L.r[0].next,j;
   while(i)
   {
     for(j=L.keynum-1;j>=0;j--)
       printf("%c",L.r[i].keys[j]);
     printf(" ");
     i=L.r[i].next;
   }
 }

 void RadixSort(SLList *L)
 { /* L是采用靜態(tài)鏈表表示的順序表。對(duì)L作基數(shù)排序,使得L成為按關(guān)鍵字 */
   /* 自小到大的有序靜態(tài)鏈表,L.r[0]為頭結(jié)點(diǎn)。算法10.17 */
   int i;
   ArrType f,e;
   for(i=0;i<(*L).recnum;++i)
     (*L).r[i].next=i+1;
   (*L).r[(*L).recnum].next=0; /* 將L改造為靜態(tài)鏈表 */
   for(i=0;i<(*L).keynum;++i)
   { /* 按最低位優(yōu)先依次對(duì)各關(guān)鍵字進(jìn)行分配和收集 */
     Distribute((*L).r,i,f,e); /* 第i趟分配 */
     Collect((*L).r,f,e); /* 第i趟收集 */
     printf("第%d趟收集后:\n",i+1);
     printl(*L);
     printf("\n");
   }
 }

 void print(SLList L)
 { /* 按數(shù)組序號(hào)輸出靜態(tài)鏈表 */
   int i,j;
   printf("keynum=%d recnum=%d\n",L.keynum,L.recnum);
   for(i=1;i<=L.recnum;i++)
   {
     printf("keys=");
     for(j=L.keynum-1;j>=0;j--)
       printf("%c",L.r[i].keys[j]);
     printf(" otheritems=%d next=%d\n",L.r[i].otheritems,L.r[i].next);
   }
 }

 void Sort(SLList L,int adr[]) /* 改此句(類型) */
 { /* 求得adr[1..L.length],adr[i]為靜態(tài)鏈表L的第i個(gè)最小記錄的序號(hào) */
   int i=1,p=L.r[0].next;
   while(p)
   {
     adr[i++]=p;
     p=L.r[p].next;
   }
 }

 void Rearrange(SLList *L,int adr[]) /* 改此句(類型) */
 { /* adr給出靜態(tài)鏈表L的有序次序,即L.r[adr[i]]是第i小的記錄。 */
   /* 本算法按adr重排L.r,使其有序。算法10.18(L的類型有變) */
   int i,j,k;
   for(i=1;i<(*L).recnum;++i) /* 改此句(類型) */
     if(adr[i]!=i)
     {
       j=i;
       (*L).r[0]=(*L).r[i]; /* 暫存記錄(*L).r[i] */
       while(adr[j]!=i)
       { /* 調(diào)整(*L).r[adr[j]]的記錄到位直到adr[j]=i為止 */
         k=adr[j];
         (*L).r[j]=(*L).r[k];
         adr[j]=j;
         j=k; /* 記錄按序到位 */
       }
       (*L).r[j]=(*L).r[0];
       adr[j]=j;
     }
 }

 #define N 10
 void main()
 {
   RedType d[N]={{278,1},{109,2},{63,3},{930,4},{589,5},{184,6},{505,7},{269,8},{8,9},{83,10}};
   SLList l;
   int *adr;
   InitList(&l,d,N);
   printf("排序前(next域還沒(méi)賦值):\n");
   print(l);
   RadixSort(&l);
   printf("排序后(靜態(tài)鏈表):\n");
   print(l);
   adr=(int*)malloc((l.recnum)*sizeof(int));
   Sort(l,adr);
   Rearrange(&l,adr);
   printf("排序后(重排記錄):\n");
   print(l);
 }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天在线| 亚洲va天堂va国产va久| 国产亚洲va综合人人澡精品| 日韩精品一区二区三区在线| 欧美一二三区在线观看| 在线播放中文字幕一区| 欧美一区二视频| 欧美一区二区三区思思人| 欧美成人一区二区三区| 精品精品欲导航| 精品999在线播放| 国产欧美日韩三级| 成人欧美一区二区三区白人 | 色狠狠av一区二区三区| 日本乱人伦一区| 欧美性极品少妇| 91精品黄色片免费大全| 欧美大片在线观看一区二区| 精品91自产拍在线观看一区| 欧美精彩视频一区二区三区| 亚洲色图制服诱惑| 亚洲一级二级在线| 日韩国产在线观看一区| 经典三级视频一区| 成人美女视频在线观看| 色综合久久天天| 91麻豆精品国产| 国产女人18水真多18精品一级做| 国产精品久久久久影院色老大| 亚洲一区免费视频| 免费成人在线影院| 成人三级在线视频| 欧美军同video69gay| 久久久亚洲综合| 夜夜精品视频一区二区| 免费一级欧美片在线观看| 国产精品1区2区3区在线观看| 91啦中文在线观看| 91精品国产欧美一区二区成人| 欧美精品一区二区精品网| 中文字幕在线观看一区| 香蕉加勒比综合久久| 国产精品18久久久久久久久| 色美美综合视频| 日韩欧美国产综合在线一区二区三区| 国产欧美日韩亚州综合| 亚洲福利视频一区二区| 国产99久久久国产精品潘金| 欧美综合久久久| 国产日韩欧美激情| 午夜精品久久久久久不卡8050| 韩国理伦片一区二区三区在线播放 | 丝袜诱惑制服诱惑色一区在线观看| 久久99精品国产91久久来源| 95精品视频在线| 久久久亚洲高清| 日韩中文字幕1| 99久久精品国产一区| 日韩欧美色综合| 一区二区三区在线免费| 国产乱人伦偷精品视频不卡| 欧美日韩国产高清一区二区| 中文字幕在线观看一区二区| 久久er99精品| 欧美日韩视频专区在线播放| 国产精品不卡一区| 国产老女人精品毛片久久| 欧美精品九九99久久| 亚洲日本韩国一区| 福利一区在线观看| 精品国产自在久精品国产| 亚洲成av人片在线观看无码| 成人app在线| 国产午夜精品理论片a级大结局 | 欧美色成人综合| 国产精品美女视频| 韩国av一区二区三区在线观看| 欧美精品免费视频| 一二三区精品视频| 日本精品视频一区二区三区| 国产精品久久久久久久久动漫 | 日韩欧美第一区| 午夜精品久久久久久久久久| 色天天综合色天天久久| 中文天堂在线一区| 国产一区二区福利| 久久婷婷久久一区二区三区| 毛片一区二区三区| 日韩限制级电影在线观看| 日韩制服丝袜先锋影音| 欧美精品一级二级| 亚洲国产日日夜夜| 欧美视频一区二区在线观看| 一区二区视频在线| 99久久综合狠狠综合久久| 国产欧美精品一区二区三区四区 | 欧美色精品天天在线观看视频| 有坂深雪av一区二区精品| 色婷婷久久久亚洲一区二区三区| 亚洲欧美另类久久久精品| 91在线精品一区二区| 1000部国产精品成人观看| 91亚洲精品一区二区乱码| 亚洲人成影院在线观看| 91行情网站电视在线观看高清版| 亚洲天堂成人网| 欧美在线free| 亚洲va天堂va国产va久| 91精品国产乱| 经典三级视频一区| 国产网站一区二区三区| 成人美女在线观看| 亚洲激情自拍视频| 在线播放91灌醉迷j高跟美女 | 国产激情一区二区三区四区| 国产视频一区在线播放| 99久久婷婷国产综合精品电影 | 美脚の诱脚舐め脚责91 | 国产亚洲制服色| 成人丝袜视频网| 日韩理论片网站| 欧美色图在线观看| 免费在线看成人av| 精品免费99久久| 国产麻豆精品久久一二三| 1区2区3区精品视频| 欧美午夜寂寞影院| 久久国产夜色精品鲁鲁99| 久久精品夜色噜噜亚洲aⅴ| 99久久er热在这里只有精品66| 亚洲一区二区在线播放相泽 | 日韩一区在线播放| 欧美三级资源在线| 极品少妇xxxx精品少妇| 国产精品嫩草影院com| 欧美日韩精品一区视频| 韩国三级在线一区| 一区二区在线观看免费视频播放| 欧美一级生活片| 丁香网亚洲国际| 亚洲成a天堂v人片| 欧美精品一区在线观看| 欧美日韩在线直播| 蜜臀av国产精品久久久久| 中文字幕乱码日本亚洲一区二区 | 亚洲精品国产品国语在线app| 4438x成人网最大色成网站| 国产精品亚洲午夜一区二区三区| 一区二区三区在线免费视频| 欧美大片日本大片免费观看| 成人av在线网站| 日韩精品一二三区| 中文字幕日韩一区| 日韩午夜av电影| 91社区在线播放| 精品在线观看免费| 亚洲精品国产视频| 国产视频在线观看一区二区三区| 欧美日韩国产小视频在线观看| 成人免费视频视频| 美腿丝袜一区二区三区| 亚洲三级视频在线观看| 欧美成人官网二区| 欧美三级电影网站| 成人av电影观看| 国内不卡的二区三区中文字幕| 亚洲综合色视频| 国产免费成人在线视频| 欧美一三区三区四区免费在线看| 91蝌蚪porny成人天涯| 韩国精品主播一区二区在线观看| 偷拍一区二区三区四区| 国产精品久久三区| 久久久精品欧美丰满| 欧美另类videos死尸| 色综合天天综合| www.欧美色图| 国产精品一区二区久激情瑜伽| 日韩国产精品久久久久久亚洲| 亚洲柠檬福利资源导航| 国产亚洲精品bt天堂精选| 欧美一区二区三区免费大片| 欧美无人高清视频在线观看| 99久久精品国产精品久久| 国产成人亚洲综合a∨猫咪| 美女在线视频一区| 日韩不卡一区二区| 图片区小说区国产精品视频| 亚洲制服丝袜av| 亚洲欧美激情一区二区| 日韩美女精品在线| 国产精品黄色在线观看| 久久久综合九色合综国产精品| 日韩视频一区在线观看| 欧美精品日韩一区| 91精品国产色综合久久| 欧美久久一区二区| 欧美日本在线视频| 这里只有精品电影| 在线播放一区二区三区|