資料結構例程 簡單的計數排序

2021-09-23 18:00:16 字數 861 閱讀 5125

本文是[資料結構基礎系列(9):排序]中第9課時[簡單的計數排序]的例程。

#include 

#include

#define maxsize 20

#define maxnum 100

typedef

int keytype; //定義關鍵字型別

typedef

char infotype[10];

typedef

struct

//記錄型別

rectype; //排序的記錄型別定義

void countsort(rectype r,int n)

; /*用於計數的c陣列的所有元素初值為0*/

for(i=0; i/*例如,r[i].key為6時,c[6]++,c[r[i].key]是r[i].key出現的次數*/

k=0;

for(j=0; j<=maxnum; j++) /*考察每乙個j*/

for(i=1; i<=c[j]; i++) /*j=r[j].key出現過c[j]個,此即是排序的結果*/

r[k++].key=j;

}int main()

; for (i=0; iprintf("排序前:");

for (i=0; iprintf("%d ",r[i].key);

printf("\n");

countsort(r,n);

printf("排序後:");

for (i=0; iprintf("%d ",r[i].key);

printf("\n");

return

0;}

資料結構例程 簡單的計數排序

本文是 資料結構基礎系列 9 排序 中第9課時 簡單的計數排序 的例程。include include define maxsize 20 define maxnum 100 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef s...

資料結構例程 拓撲排序

本文是 資料結構基礎系列 7 圖 中第11課時 拓撲排序 的例程。程式中graph.h是圖儲存結構的 演算法庫 中的標頭檔案,詳情請單擊鏈結 include include include graph.h void topsort algraph g for i 0 in i if g adjlis...

資料結構 計數排序

題目來自灰灰考研 counting sort基本思想 對於給定的輸入序列中的每乙個元素x,確定該序列中值小於x的元素的個數 一旦有了這個資訊,就可以將x直接存放到最終的輸出序列的正確位置上。它建立乙個長度為這個資料範圍的陣列c,c中每個元素記錄要排序陣列中對應記錄的出現個數。下面以示例來說明這個演算...