第三章:查詢與排序(下)----------- 3.27 用計數排序解決員工年齡問題

Curtis_發表於2019-03-12

用計數排序解決員工年齡問題:

 計數排序:

    int age[101];   // 特別注意:0號位不用,長度要設為101,最大下標才能是100。

程式碼:

 

#include<iostream>
using namespace std;

void countSort(int arr[],int length){
	int age[101];  //特別注意:0號位不用,長度要設為101,最大下標才能是100 
	for(int i=1;i<=100;i++){
		age[i]=0;
	}
	
	for(int i=0;i<length;i++){
		age[arr[i]]++;
	}
		
	for(int i=1;i<=100;i++){
		while(age[i]){
			cout<<i<<" ";
			age[i]--;
		}
	}
}

int main(){
	int n; //員工人數
	cin>>n;
	 
	int arr[n];  //存放員工年齡 
	for(int i=0;i<n;i++){
		cin>>arr[i];
	} 
	
	countSort(arr,n);
	
	return 0;
}

 結果:

 

相關文章