/*
*檔名稱:傳寫.cpp
*完成日期:2023年12月15日
*版本號:v1.0**/
#include
#include
#include
#define maxe 20 //線性表中最多元素個數
#define maxr 10 //基數的最大取值
#define maxd 8 //關鍵字位數的最大取值
typedef struct node
rectype;
void crealink(rectype *&p,char *a,int n);
void displink(rectype *p);
void radixsort(rectype *&p,int r,int d) //實現基數排序:*p為待排序序列鍊錶指標,r為基數,d為關鍵字位數
else
p=p->next; //取下乙個待排序的元素
} p=null; //重新用p來收集所有結點
for (j=0; jnext=head[j];
t=tail[j];
} }
t->next=null; //最後乙個結點的next域置null
//以下的顯示並非必要
printf(" 按%d位排序\t",i);
displink(p);
} }
void createlink(rectype *&p,char a[maxe][maxd],int n) //採用後插法產生鍊錶
else
} t->next=null;
} void displink(rectype *p) //輸出鍊錶
printf("\n");
} int main()
; for (i=0; i
執行結果:
知識點總結:
基數排序時一種不需要比較的演算法,借助多關鍵字對但關鍵字排序。
但由於要創造輔助的儲存空間,在空間上略浪費。
該演算法是一種穩定的儲存方法。
第十六周專案1(6) 基數排序
問題描述及 ifndef btree h included define btree h included 煙台大學計控學院 作 者 王力源 完成日期 2016年12月15日 問題描述 用序列作測試資料,驗證歸基數排序 endif btree h included include include i...
第十六周 基數排序
作 者 孫子策 完成日期 2016.12.15 問題描述 用序列作測試資料,驗證歸基數排序 include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 define maxd 8 關鍵字位數的最大取值 typede...
第十六周專案8 基數排序
include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 define maxd 8 關鍵字位數的最大取值 typedef struct node rectype void crealink rectype p,...