编程珠玑第一篇的一个问题
第一篇中的问题:给n个不相重复的数进行排序,(n<10^7) 用的方法是位图的方法。但是我的程序运行的时候,我通过任务管理器看到的内存使用是10M左右,和理论分析的1.25M差的也太多了。求大神指教。下面是我的程序
#include <iostream>#include <fstream>using namespace std;const int n = 10000000;bool a[n] = {false};int main(){ ifstream inFile("data.txt",ios::in); int k; inFile >> k; int i; int t; for (i = 0;i < k;i++) { inFile >> t; a[t] = true; } inFile.close(); ofstream outFile("result.txt",ios::out); outFile << k << endl; for (i = 0;i < n;i++) if (a[i]) outFile << i << "\t"; outFile.close(); return 0;}