這道題給定的年齡範圍其實在0-99之間,是乙個很小的數字範圍,所以我們可以考慮使用輔助空間來對這些年齡進行排序
1.我們可以開闢乙個可以存放100個數字的陣列,1就代表一歲
2.進行迴圈統計每個年齡出現了多少次,比如37歲出現10次,那麼輔助陣列中下標為37的位置就為數字10
3.進行倆次迴圈對ages陣列進行排序
#include
void
sortage
(int ages,
int len);if
(ages ==
null
&& len <=0)
return
; oldestage =99;
//定義最大年齡為99
timeofage[oldestage +1]
;//建立乙個年齡與陣列下標相同的陣列
for(i =
0; i < oldestage; i++
)for
(i =
0; i < len; i++
) index =0;
for(i =
0; i <= oldestage; i++)}
}int
main()
;sortage
(age,10)
;for
(i =
0; i<
10; i++
)return0;
}
所有員工年齡排序
何海濤 劍指offer 名企面試官精講典型程式設計題 九度oj 題目描述 公司現在要對所有員工的年齡進行排序,因為公司員工的人數非常多,所以要求排序演算法的效率要非常高,你能寫出這樣的程式嗎?輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表公司...
員工年齡排序演算法
對公司幾萬員工年齡排序 include vector include iostream using namespace std void arrayprint int a,int n void sortages0 int ages,int length int count 0 for size t ...
企業員工年齡排序
題目 已知企業所有員工得年齡,請將所有員工得年齡從小到大排序。程式 include void sortage int age,int num 存放0 99歲各個年齡得人數 int index 0 重新賦值age時陣列索引 統計各個年齡人數 for int i 0 i num i 將年齡從小到大存入a...