陈中正的网络日志

C++: 生成100万随机数, 排序后保存到文件中

简介

这大概是大二数据结构课上老师布置的一个作业, 当年忙着打DOTA所以直接抄同学的, 今天补上。。。

代码

#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>

using namespace std;

class Solution
{
public:
    void generate_nums()
    {
        srand(time(NULL));
        for (auto &r : nums_)
            r = rand();
    }

    void save_nums(string file_name)
    {
        ofstream ofs(file_name);

        for (auto &r : nums_)
            ofs << &r << '\n';

        ofs.close();
    }

    void sort_nums()
    {
        sort(nums_.begin(), nums_.end());
    }
private:
    vector<int> nums_ = vector<int>(1000000);
};

int main()
{
    Solution s;

    s.generate_nums();      //generate 1 million nums
    s.save_nums("nums");    //save to file "nums"
    s.sort_nums();          //sort
    s.save_nums("nums2");   //save to file "nums2"

    return 0;
}

参考

http://blog.csdn.net/hackbuteer1/article/details/6574908

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/39398505

Categories:  C/C++ 

« 2014年美团校招笔试题解(更新ING……) LeetCode: Remove Nth Node From End of List »