随机发生1000000个身份证

随机产生1000000个身份证
数据结构课程设计的题目:随机产生1000000个身份证信息,包括身份证号,性别,住址,电话,随后对生成的随机数进行查询。现在想问,这么多的数据如何存储呢?怎么采用文件呢?还是排序二叉树呢?还是怎么弄呢?

------解决方案--------------------
按照一定的格式写呗,弄个std::ostringstream ostr;一项一项插入到其中,大概插入差不多就写一次,记住不要覆盖上次的内容
std::ofstream oFile;
oFile.open("文件名")//添加追加模式
oFile << ostr.str();
oFile.close()
------解决方案--------------------
既然楼主是 数据结构课程设计 的题目

显然用数据库是不合适的

这种题目 出题老师的目的就是让你练习使用2叉排序树

1M的记录条数
按每条记录500字节算
也就500M的内存
直接放内存里面完全存的下的
------解决方案--------------------
仅供调用
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
unsigned long ulrand(void) {
    return (
     (((unsigned long)rand()<<24)&0xFF000000ul)
    
------解决方案--------------------
(((unsigned long)rand()<<12)&0x00FFF000ul)
    
------解决方案--------------------
(((unsigned long)rand()    )&0x00000FFFul));
}
int i;
unsigned long ul;
void main() {
    srand(time(NULL));
    for (i=0;i<10;i++) {
        ul=ulrand();
        printf("%010lu 0x%08x\n",ul,ul);
    }
}
//2337588057 0x8b54c359
//1977377429 0x75dc6295
//3607316769 0xd7034921
//0009828482 0x0095f882
//3350859779 0xc7ba1003
//0945794621 0x385fae3d
//3400869024 0xcab524a0
//3097846779 0xb8a563fb
//4287421124 0xff8cdac4
//3934016258 0xea7c5302

------解决方案--------------------
估计老师想要你们使用二叉排序树,推荐楼书使用AVL树