亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? createrand.cpp

?? 一個海量圖書查詢系統
?? CPP
字號:
//程序隨機生成100萬條圖書記錄并形成索引表和哈希表
#include "define.h"

char getintchar()
{
	char temp=48+rand()%10;		//隨機數為'0'-'9'
	return temp;
}

char getrandchar()
{
	char temp=97+rand()%26;		//隨機數為'a'-'z'
	return temp;
}

void getISBN(char ISBN[11])
{
	for(int i=0;i<10;i++) ISBN[i]=getintchar();   //產生隨機數ISBN
	ISBN[10]=NULL;
} 

char getcategory()   //產生隨機數category
{
	return getintchar(); 
}

void getbookname(char bkname[61])    //產生隨機數bookname
{
	for(int i=0;i<60;i++) bkname[i]=getrandchar();  
	bkname[60]=NULL;
}

void getauthors(char aut[11])    //產生隨機數author
{
	for(int i=0;i<10;i++) aut[i]=getrandchar();  
	aut[10]=NULL;
}

//索引表信息交換
void exchange(indexISBN &x,indexISBN &y)  
{
	indexISBN temp;
    temp.serialnumber=x.serialnumber; strcpy(temp.ISBN,x.ISBN);  
    x.serialnumber=y.serialnumber; strcpy(x.ISBN,y.ISBN); 
    y.serialnumber=temp.serialnumber; strcpy(y.ISBN,temp.ISBN); 
}

//快速排序
void QuickSort(indexISBN a[],long low,long high)
{
	long i=low,j=high;
	indexISBN temp;
	temp.serialnumber=a[low].serialnumber; strcpy(temp.ISBN,a[low].ISBN);
	while(i<j)
	{
		while(i<j&&strcmp(temp.ISBN,a[j].ISBN)<=0) j--;
		if(i<j)
		{
	        a[i].serialnumber=a[j].serialnumber; strcpy(a[i].ISBN,a[j].ISBN); 			
			i++;
		}
        while(i<j&&strcmp(a[i].ISBN,temp.ISBN)<0) i++;
		if(i<j)
		{
	        a[j].serialnumber=a[i].serialnumber; strcpy(a[j].ISBN,a[i].ISBN);
			j--;
		}
	}
	a[i].serialnumber=temp.serialnumber; strcpy(a[i].ISBN,temp.ISBN); 
	if(low<i) QuickSort(a,low,i-1);
	if(i<high) QuickSort(a,j+1,high);
}

void Createindex(indexISBN a[])   //產生索引表
{
	long h=0;
    ofstream myoutfile;
	myoutfile.open("indexdata.dat",ios::trunc|ios::binary);     //索引數據記錄(已排序)存儲文件
	if(!myoutfile)
	{
       cout<<endl<<"  !! ERROR: can not create file: indexdata.dat"<<endl;
	   exit(0);
	} 
    QuickSort(a,0,RECORDNUMBER-1);    //快速排序
//保存排序后的索引數據文件
 	for(h=0;h<RECORDNUMBER;h++) 
	{
		myoutfile.write((char *)&a[h],sizeof(struct indexISBN));  
		if(h<10||h>RECORDNUMBER-10) //數據測試數據,頭10條記錄和后10條記錄
		{
	      cout<<a[h].ISBN<<" ";     
	      cout<<a[h].serialnumber<<endl;
		}
	}
	myoutfile.close();
}

void Createhash(indexISBN a[])   //產生哈希表
{
    long *hashtable=new long[HASHSIZE];    //申請HASH表的存儲空間
	if(hashtable==NULL) { cout<<endl<<" 內存申請失敗! "<<endl;  exit(0); }
//  indexISBN indexdata;    //保存讀入的一條索引記錄
    ofstream myoutfile;
	myoutfile.open("hashdata.dat",ios::trunc|ios::binary);   //HASH表的數據記錄存儲文件
	if(!myoutfile)
	{
       cout<<endl<<"  !! ERROR: can not create file: hashdata.dat "<<endl;
	   exit(0);
	} 
    char temp[5];
    for(int i=0;i<HASHSIZE;i++) hashtable[i]=-1;      //hash表賦初值
	long k=0;
	int j;
	int hashvalue;
	while(k<RECORDNUMBER)  //處理數據,建立HASH表
	{
		for(j=0;j<=3;j++)  temp[j]=a[k].ISBN[j];     //取ISBN中的第0-3共四位數據
    	temp[4]='\0';
	    hashvalue=atoi(temp);    //將字符串轉換為記錄對應的HASH數值
		if(hashtable[hashvalue]==-1) hashtable[hashvalue]=k;   //記錄在索引表中的相對位置
		k++;
	} 
	hashtable[HASHSIZE-1]=k; 
//保存HASH表的數據文件
	int h;
 	for(h=0;h<HASHSIZE;h++) myoutfile.write((char *)&hashtable[h],sizeof(long));  
	myoutfile.close();
//輸出前10個數據
	for(h=0;h<10;h++) cout<<"position: "<<h<<"   "<<hashtable[h]<<endl; 
//輸出后10個數據
	for(h=0;h<10;h++) cout<<"position: "<<HASHSIZE-1-h<<"   "<<hashtable[HASHSIZE-1-h]<<endl; 
	delete []hashtable;     //釋放申請的存儲空間
}


int main(int argc, char* argv[])
{
	ofstream outfile;     //定義輸出數據的記錄文件
	outfile.open("book.dat",ios::trunc|ios::binary);   //以二進制保存數據
	if(!outfile) { cout<<endl<<"  !! ERROR: can not create file: book.dat "<<endl;  exit(0);  } 
    ofstream dataout;     
	dataout.open("datatest.txt",ios::trunc);  //以文本保存數據測試數據,頭10條記錄和后10條記錄
	if(!dataout) {  cout<<endl<<"  !! ERROR: can not create headfile: datatest.txt"<<endl;  exit(0); }  
	indexISBN *storeISBN=new indexISBN[RECORDNUMBER];    //保存ISBN號
	if(storeISBN==NULL) { cout<<endl<<" 內存申請失敗! "<<endl;  exit(0); }
	book BUFF;   //保存一條完整的圖書信息
    DWORD dwstart,dwend;   
    dwstart=GetTickCount();    //記錄開始時間
	srand((unsigned)time(NULL));   //srand()函數產生一個以當前時間開始的隨機種子
	cout<<"正在處理數據,請稍候......"<<endl;
    long size=0;
	while(size<RECORDNUMBER) //共產生10000*100條隨機圖書ISBN號記錄,ISBN號可以相同
	{
 	    getISBN(storeISBN[size].ISBN);   //產生一條ISBN號
        storeISBN[size].serialnumber=size;   //記錄初始序號
        strcpy(BUFF.ISBN,storeISBN[size].ISBN);
	    BUFF.category=getcategory();
        getbookname(BUFF.bookname);
        getauthors(BUFF.authors);
        outfile.write((char *)&BUFF,sizeof(struct book));     //保存一條記錄
		if(size<10||size>RECORDNUMBER-10) //以文本保存數據測試數據,頭10條記錄和后10條記錄
		{
	      dataout<<size<<"  ";     
	      dataout<<BUFF.ISBN<<"  "; 
		  dataout<<BUFF.category<<"  ";
          dataout<<BUFF.bookname<<"  "; 
          dataout<<BUFF.authors<<endl; 
		}
        size=size+1;
	}
	outfile.close();
	dataout.close();
    Createindex(storeISBN);    //產生索引表
    Createhash(storeISBN);   //產生哈希表
    dwend=GetTickCount();   //記錄結束時間
	cout<<"成功產生 "<<size<<" 條隨機圖書記錄"<<endl;
    cout<<"共耗時約:  "<<dwend-dwstart<<" 毫秒。"<<endl;
    delete []storeISBN;
	return 0; 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的电视剧免费网站有什么| 中文字幕一区二区三区在线不卡 | 国产婷婷一区二区| 精品一区精品二区高清| 久久久电影一区二区三区| 国产精品亚洲人在线观看| 亚洲色图欧洲色图| 欧美午夜寂寞影院| 麻豆免费看一区二区三区| 久久亚洲一区二区三区四区| 国产福利精品导航| 亚洲色图19p| 91精品国产综合久久久久久漫画 | 亚洲va韩国va欧美va精品| 欧美一级日韩一级| 国产精品99久久久久久久vr| 中文字幕中文字幕一区二区| 欧美在线影院一区二区| 日本在线观看不卡视频| 欧美激情综合网| 色美美综合视频| 奇米色一区二区| 中文字幕高清一区| 欧美视频在线不卡| 国产麻豆91精品| 亚洲乱码中文字幕| 精品久久国产97色综合| 91精品91久久久中77777| 男男视频亚洲欧美| 日韩毛片精品高清免费| 欧美日韩一区二区在线观看视频| 国内久久婷婷综合| 伊人色综合久久天天人手人婷| 欧美一卡二卡在线| a4yy欧美一区二区三区| 麻豆国产精品777777在线| 亚洲精品伦理在线| 国产色综合久久| 欧美久久一区二区| 91看片淫黄大片一级在线观看| 老司机午夜精品| 一区二区三区**美女毛片| 久久久久国产精品免费免费搜索| 欧美日免费三级在线| 国v精品久久久网| 免费成人结看片| 亚洲一区二区三区不卡国产欧美| 国产日产欧美一区二区视频| 91麻豆精品国产无毒不卡在线观看| av爱爱亚洲一区| 国产高清一区日本| 久久99精品久久久久久| 日韩中文字幕麻豆| 亚洲男人电影天堂| 国产精品护士白丝一区av| 久久亚洲一级片| 精品国产sm最大网站| 日韩一区二区影院| 91精品欧美一区二区三区综合在| 色综合久久中文综合久久97| 成人综合婷婷国产精品久久 | 久久精品国产77777蜜臀| 亚洲一区二区三区在线看| 国产精品卡一卡二| 国产日产精品1区| 久久精品人人爽人人爽| 久久久久久久久久久电影| 精品国产乱码久久久久久牛牛 | 在线免费观看视频一区| jlzzjlzz国产精品久久| eeuss鲁片一区二区三区在线看| 国产很黄免费观看久久| 国产美女精品一区二区三区| 九色porny丨国产精品| 久草在线在线精品观看| 蜜桃精品在线观看| 麻豆精品在线播放| 国产在线一区二区综合免费视频| 久久成人免费电影| 国产在线精品视频| 国产精品一线二线三线精华| 国产一区二区三区蝌蚪| 成人午夜短视频| 99久久精品国产导航| 色综合天天综合在线视频| 在线免费亚洲电影| 在线成人av网站| 日韩精品自拍偷拍| 久久久久久电影| 自拍偷拍欧美激情| 亚洲不卡av一区二区三区| 日韩中文字幕一区二区三区| 日本不卡123| 精品无人码麻豆乱码1区2区| 国产精品一二二区| 99re热视频这里只精品| 欧美日韩日本视频| 欧美成人video| 国产精品短视频| 亚洲线精品一区二区三区八戒| 奇米精品一区二区三区四区| 国产福利一区在线| 色综合天天天天做夜夜夜夜做| 欧美视频在线一区二区三区| 欧美国产精品久久| 亚洲男人天堂av网| 麻豆成人91精品二区三区| 成人一级片网址| 欧美日韩美女一区二区| 久久久久久久久久美女| 亚洲精品一二三四区| 麻豆成人91精品二区三区| 99久久久久久| 日韩女优毛片在线| 日韩一区日韩二区| 另类小说色综合网站| 色综合天天在线| 久久欧美一区二区| 亚洲123区在线观看| 成人综合婷婷国产精品久久免费| 欧美精品一卡两卡| 国产精品电影院| 精品中文字幕一区二区小辣椒| 色婷婷综合久久久久中文一区二区| 日韩欧美一二区| 亚洲国产日韩综合久久精品| 丁香桃色午夜亚洲一区二区三区| 欧美欧美欧美欧美首页| 中文字幕一区二区三区四区不卡| 男男gaygay亚洲| 欧美亚洲高清一区| 亚洲欧洲精品一区二区精品久久久 | 91丨九色丨尤物| 亚洲精品一区二区三区蜜桃下载 | 日本va欧美va精品发布| 99久久伊人网影院| 精品久久久久久久人人人人传媒 | 亚洲永久免费视频| 成年人午夜久久久| 欧美电视剧免费观看| 亚洲成人7777| 日本韩国一区二区| 国产精品萝li| 国产二区国产一区在线观看| 日韩欧美电影一二三| 婷婷丁香久久五月婷婷| 91在线云播放| 自拍视频在线观看一区二区| 成人免费毛片a| 国产亚洲精品aa| 国产一区二区三区国产| 日韩一区二区在线看| 天堂影院一区二区| 欧美视频精品在线观看| 亚洲人成网站在线| 一本大道久久a久久综合婷婷| 国产欧美精品一区aⅴ影院| 国产精品一区二区视频| 337p粉嫩大胆噜噜噜噜噜91av| 麻豆中文一区二区| 欧美大度的电影原声| 久久91精品国产91久久小草| 欧美成人国产一区二区| 精品一区二区三区香蕉蜜桃| 日韩色在线观看| 久久99久久久久| 精品国产免费人成电影在线观看四季| 午夜免费欧美电影| 7878成人国产在线观看| 免费看欧美美女黄的网站| 欧美一区二区久久久| 麻豆国产91在线播放| 精品88久久久久88久久久 | 国产乱码精品一区二区三区av | 欧美日韩综合在线免费观看| 亚洲线精品一区二区三区八戒| 欧美性videosxxxxx| 日韩在线a电影| 久久综合久久综合久久| 成人免费视频一区二区| 亚洲欧美怡红院| 欧美日韩国产高清一区二区三区| 亚洲制服丝袜av| 日韩欧美亚洲国产另类| 国产高清在线观看免费不卡| 中文字幕日韩一区二区| 欧美在线播放高清精品| 蜜桃视频在线一区| 国产嫩草影院久久久久| 97se亚洲国产综合自在线| 香蕉影视欧美成人| 日韩欧美一级二级三级久久久| 国产精品2024| 亚洲女人的天堂| 日韩一级高清毛片| 不卡视频在线看| 日韩av在线播放中文字幕| 久久久夜色精品亚洲| 色婷婷精品久久二区二区蜜臂av| 视频一区二区三区中文字幕|