//對公司幾萬員工年齡排序
#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 i = 0; i < 100; i++) }
void sortages1(int ages, int length)
; for (int i = 0; i < length; i++)
int count = 0;
for (int i = 0; i < 100; i++) }
}#include "map"
void sortages2(int ages, int length)
int count = 0;
for (map:: iterator iter = bucket.begin(); iter != bucket.end(); iter++) }
}#include "random"
#include "ctime"
#include "fstream"
#define n 100
void test()
; ofstream file;
clock_t t0 = clock();
for (int j = 0; j < 10; j++)
sortages0(ages, n);
arrayprint(ages, n);
} file << "sortaage0: " << clock() - t0 << "ms" << endl;
t0 = clock();
for (int j = 0; j < 10; j++)
sortages1(ages, n);
arrayprint(ages, n);
} file << "sortaage1: " << clock() - t0 << "ms" << endl;
t0 = clock();
for (int j = 0; j < 10; j++)
sortages2(ages, n);
arrayprint(ages, n);
} file << "sortaage2: " << clock() - t0 << "ms" << endl;
file.close();
}int main()
三次執行時間結果:
sortaage0: 176ms
sortaage1: 160ms
sortaage2: 142ms
sortaage0: 160ms
sortaage1: 139ms
sortaage2: 141ms
sortaage0: 148ms
sortaage1: 137ms
sortaage2: 142ms
可以看到,第二和第三時間差不多,只是map建樹稍微要麻煩一點,記憶體方面細算也沒有特別的優勢。
第一種方法記憶體o(n)時間也慢。
所有員工年齡排序
何海濤 劍指offer 名企面試官精講典型程式設計題 九度oj 題目描述 公司現在要對所有員工的年齡進行排序,因為公司員工的人數非常多,所以要求排序演算法的效率要非常高,你能寫出這樣的程式嗎?輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表公司...
企業員工年齡排序
題目 已知企業所有員工得年齡,請將所有員工得年齡從小到大排序。程式 include void sortage int age,int num 存放0 99歲各個年齡得人數 int index 0 重新賦值age時陣列索引 統計各個年齡人數 for int i 0 i num i 將年齡從小到大存入a...
所有員工年齡排序
時間限制 1 秒記憶體限制 32 兆特殊判題 否 題目描述 公司現在要對所有員工的年齡進行排序,因為公司員工的人數非常多,所以要求排序演算法的效率要非常高,你能寫出這樣的程式嗎?輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表公司內員工的人數。...