第十六周 專案1 (6)基數排序

2021-07-25 10:04:03 字數 1240 閱讀 7121

/*

*檔名稱:傳寫.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,...