給你十五個出生於二十世紀(1900年至1999年)的隨機人的出生年。您將得到的數據作爲下面的數組,這是你的桶排序功能使用的唯一論據:十年桶填充C程序
birthYears[] = {84, 51, 92, 72, 17, 62, 1, 16, 10, 28, 99, 71, 45, 18, 61};
你的函數將返回類型爲void,將通過以下方式工作:
•創建一個10x 10陣列,它將代表幾十年,並稱之爲十年。因此,decade[0][1]
->decade[0][9]
將代表00的,decade[1][0]
->decade[1][9]
將代表10,等等直到decade[9][0]
- >decade[9][9]
這將代表90年代。
•初始化您的數組,使其僅包含-1。
•現在通過數組birthYears
並將每個元素放入相應的存儲桶中,並將其放入適當的索引(WATCH THE INDICES)中的十進制數組中。
•最後,通過幾十年的拖網,逐個去除一個元素,並放回到數組birthyears。他們應該已經按照正確的順序。
這是我到目前爲止有:
void Bucket_Sort(birthYears[]){
int i,j;
int decades[10][10];
for(i=0; i<15; i++)
}
//Actual Bucket Sort Function
void Bucket_Sort(int array[], int n){
int i, j;
int count[n];
for (i = 0; i < n; i++)
count[i] = 0;
for (i = 0; i < n; i++)
(count[array[i]])++;
for (i = 0, j = 0; i < n; i++)
for(; count[i] > 0; (count[i])--)
array[j++] = i;
}
我不知道如何着手。
那麼你想排序數組? –
基本上。我必須使用桶排序來對其進行排序。但是,我不理解這個問題。 – Electiwirez
你的老師是否說過使用'qsort'? –