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

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

?? wsort1.h

?? 方便大家使用的c版本 算法
?? H
字號:
//外存文件的排序操作WSort1.h
typedef struct
  {int key;
   int stn;}ElemType;
int b=sizeof(ElemType);//b表示ElemType記錄類型的大小
//類定義
class LoadFile
{public:
  //構造函數
  //向物理文件名為fname指針所指文件中輸出n個記錄
  LoadFile(char* fname,int n);
  //把文件A中兩個相鄰位置s?m和m+1?t的有序表歸并為
  //文件R中對應位置s?t上的一個有序表
  void FTwoMerge(fstream &A,fstream &R,int s,int m,int t);
  //對文件A進行一趟二路歸并的算法
  void FMergePass(fstream &A,fstream &R,int n,int len);
  //對磁盤文件進行二路歸并排序的算法
  void FMergeSort(fstream &A, int BlockSize);
  //順序打印ff文件中每個記錄
  void Print(fstream &ff);
};
//類的實現
//向物理文件名為fname的指針所指文件中輸出n個記錄
LoadFile::LoadFile(char* fname, int n)
{ofstream f(fname,ios::out|ios::binary);
 //用所給的物理文件名定義一個輸出文件
 //流對象f是與物理文件相對應的邏輯文件
 if(!f) {
  cerr<<fname<<' '<<"not found!"<<endl;exit(1);}
 for(int i=0; i<n; i++)
 {//假定向每個記錄的排序碼域的數據由隨機產生
  ElemType x;
  x.key=i;x.stn=rand()%100;
  f.write((char *)&x,b);}
}
//把文件A中兩個相鄰位置s?m和m+1?t的有序表歸并為
//文件R中對應位置s?t上的一個有序表
void LoadFile::FTwoMerge(fstream &A,fstream &R,int s,int m,int t)
{int i,j,k;
 ElemType a1,a2;
 i=s; j=m+1; k=s;//分別給指示每個有序表元素位置的指針賦初值
 R.seekg(k*b);  //將文件R中的文件指針移到記錄下標為k的位置,
 //兩個有序表中同時存在未歸并元素時的處理過程
 while(i<=m && j<=t)
  {A.seekg(i*b);
   //從文件A的記錄下標為s開始的歸并段中讀出一個記錄到a1中
   A.read((char*)&a1,b);
  //從文件A的記錄下標為m+1開始的歸并段中讀出一個記錄到a2中
   A.seekg(j*b);
   A.read((char*)&a2,b);
  //將a1和a2中排序碼較小的記錄寫入到R文件中
  if(a1.stn<=a2.stn) {
     R.write((char*)&a1,b);i++;}
  else {R.write((char*)&a2,b);j++;}}
//對前一個歸并段中存在的未歸并元素進行處理
 A.seekg(i*b);
 while(i<=m) {
   A.read((char*)&a1,b);
   R.write((char*)&a1,b);
   i++;}
 //對后一個有序表中存在的未歸并元素進行處理 
 A.seekg(j*b);
 while(j<=t) {
   A.read((char*)&a2,b);
   R.write((char*)&a2,b);j++;
}}
//對文件A進行一趟二路歸并的算法
void LoadFile::FMergePass(fstream &A,fstream &R,int n,int len)
//把文件A中每個長度為len的有序表兩兩歸并到文件R中
{ElemType x;
 int p=0;//p用于指向每一對歸并段的首記錄位置,初值為0
 while(p+2*len-1<=n-1)
  {//兩兩歸并長度均為len的有序表
   FTwoMerge(A,R,p,p+len-1,p+2*len-1);
   p+=2*len;}
 if(p+len-1<n-1)//歸并最后兩個長度不等的有序表
   FTwoMerge(A,R,p,p+len-1,n-1);
 else { //把剩下的最后一個有序表復制到R中
   A.seekg(p*b);  //移動文件A中的指針到規定的位置
   R.seekg(p*b);  //移動文件R中的指針到對應位置
   for(int i=p; i<=n-1; i++) {
     A.read((char*)&x,b);
     R.write((char*)&x,b);}
}}
//對磁盤文件進行二路歸并排序的算法
void LoadFile::FMergeSort(fstream &A, int BlockSize)
//采用歸并排序的方法對文件A中的每個有序
//子表長度為BlockSize的記錄進行排序
{char *ff=".\\temp.dat";
 fstream R(ff,ios::in|ios::out|ios::binary|ios::trunc);
 //定義一個能夠按塊隨機存取的輔助文件R
 if(!R) {
  cerr<<"temp.dat"<<' '<<"not open!"<<endl;exit(1);}
 int len=BlockSize;  
 //從有序表長度為給定值BlockSize開始歸并
 A.seekg(0,ios::end);  
 //將文件A中的指針移到文件的末尾
 int n=A.tellg()/b;
 //用n表示文件中所含的記錄個數,b為記錄的大小
 while(len<n) {
   FMergePass(A,R,n,len); 
 //從A歸并到R中,得到每個有序表的長度為2*len
 len*=2;
 //修改len的值為R中的每個有序表的長度
 FMergePass(R,A,n,len);
 //從R歸并到A中,得到每個有序表的長度為2*len
 len*=2;}
 //修改len的值為A中的每個有序表的長度
 R.close();//關閉輔助文件R
 //從磁盤上刪除R所對應的物理文件
 remove(ff);
}
//順序打印出ff文件中每個記錄
void LoadFile::Print(fstream &ff)
{ElemType x;
 ff.seekg(0,ios::end);//將文件指針移至文件未
 int n=ff.tellg()/b; //用n表示文件所含的記錄數
 ff.seekg(0);  //將文件指針移至文件首
 for(int i=0;i<n;i++) {
  ff.read((char*) &x, b);//從文件中讀一記錄到x中
  if(i%10==0)//每行顯示10個數據
   cout<<endl;//每個數據占4個字符顯示位置
   cout<<setw(4)<<x.stn;}
 cout<<endl;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费视频网| 欧美精品欧美精品系列| 国产亚洲一区字幕| 99久久er热在这里只有精品15 | 亚洲欧美怡红院| 成人综合婷婷国产精品久久| 久久嫩草精品久久久精品一| 国产999精品久久久久久| 国产喂奶挤奶一区二区三区 | 久久爱www久久做| 国产精品欧美极品| 欧美高清你懂得| 国产精品一区二区91| 一区二区国产视频| 精品国产乱码久久久久久浪潮| 国产高清精品网站| 亚洲一级电影视频| 中文字幕久久午夜不卡| 91精品国产麻豆| 色综合久久综合网97色综合| 老司机精品视频在线| 亚洲欧洲另类国产综合| 日韩美女一区二区三区| 日本大香伊一区二区三区| 美国十次了思思久久精品导航| 国产亚洲欧美日韩日本| 欧美一区二区啪啪| 欧美日韩国产一级| 欧洲av在线精品| 99精品久久久久久| 国产ts人妖一区二区| 国产成人丝袜美腿| 免费亚洲电影在线| 首页国产欧美久久| 三级不卡在线观看| 日韩二区三区四区| 乱一区二区av| 另类小说色综合网站| 天堂一区二区在线| 水野朝阳av一区二区三区| 中文字幕中文字幕一区| 国产婷婷色一区二区三区在线| 2017欧美狠狠色| 久久久精品免费网站| 26uuu亚洲综合色欧美| 中文字幕av一区二区三区高| 国产精品系列在线| 亚洲一级不卡视频| 美女尤物国产一区| 丁香六月久久综合狠狠色| 91在线精品秘密一区二区| 欧美在线三级电影| 欧美v日韩v国产v| 中文字幕在线一区二区三区| 亚洲自拍偷拍网站| 黑人巨大精品欧美一区| 91在线观看美女| 日韩欧美二区三区| 亚洲一级在线观看| 日产精品久久久久久久性色| 久久久777精品电影网影网 | 99久免费精品视频在线观看| 欧美午夜片在线观看| 国产三区在线成人av| 久久成人免费电影| 91国在线观看| 日韩电影在线看| 欧美手机在线视频| 亚洲精品成a人| 99久久99久久免费精品蜜臀| 国产精品人人做人人爽人人添 | 国产精品不卡一区| 国产成人a级片| 国产日韩一级二级三级| 国产精品123区| 国产精品视频一二| a美女胸又www黄视频久久| 国产精品久久夜| 一本大道av一区二区在线播放| 国产精品久久久久久久裸模| 成人免费高清视频| 亚洲一区自拍偷拍| 日韩精品一区二区在线| 国产一区二区三区综合| 欧美韩日一区二区三区四区| 高清不卡在线观看| 亚洲第一搞黄网站| www精品美女久久久tv| 成人在线综合网| 亚洲成人动漫在线观看| 久久综合色综合88| 欧洲色大大久久| 狠狠色伊人亚洲综合成人| 一色桃子久久精品亚洲| 日韩一区二区三区视频在线| 国产成人精品一区二区三区四区| 亚洲精品日韩一| 国产日韩精品一区二区三区在线| 欧美在线一二三| 粉嫩高潮美女一区二区三区| 亚洲444eee在线观看| 中文字幕乱码日本亚洲一区二区| 色素色在线综合| 成人理论电影网| 久久99国产精品免费| 日韩国产欧美在线观看| 一区二区三区精品视频| 国产精品国产a| 久久一区二区视频| 国产精品人成在线观看免费 | 免费av网站大全久久| 亚洲精品高清在线| 亚洲嫩草精品久久| 国产精品久久久久影视| 国产日韩欧美精品在线| 久久久久久亚洲综合| 国产日韩在线不卡| 国产欧美综合色| 国产精品成人一区二区三区夜夜夜 | 国产日韩欧美一区二区三区乱码 | 中文av字幕一区| 国产精品嫩草影院com| 亚洲天堂成人网| 日韩精品成人一区二区三区| 日韩国产欧美在线播放| 另类小说欧美激情| 国产91精品久久久久久久网曝门| 极品瑜伽女神91| 成人免费黄色在线| 欧美电影在线免费观看| 精品久久人人做人人爽| 国产精品乱码人人做人人爱| 自拍偷拍亚洲欧美日韩| 日韩黄色小视频| 成人激情午夜影院| 日韩一二三四区| 中文字幕视频一区| 久久99久久久欧美国产| 成人精品视频.| 日韩欧美高清一区| 一区二区三区四区中文字幕| 国内精品伊人久久久久影院对白| 国产精品69毛片高清亚洲| 色综合久久久久| 国产精品网站导航| 国产麻豆9l精品三级站| 欧美视频一区二区在线观看| 久久婷婷国产综合国色天香| 午夜欧美在线一二页| 99在线精品观看| 久久日一线二线三线suv| 日韩在线一区二区三区| 欧洲亚洲精品在线| 亚洲精品老司机| 色激情天天射综合网| 亚洲麻豆国产自偷在线| aaa国产一区| 亚洲欧美一区二区三区国产精品 | 亚洲一区日韩精品中文字幕| 成人一区二区三区| 中文字幕精品一区二区精品绿巨人| 久久国产乱子精品免费女| 精品久久久久久亚洲综合网| 蜜臀av一区二区在线观看| 欧美成人性战久久| 粉嫩13p一区二区三区| 国产精品毛片久久久久久| av福利精品导航| 亚洲九九爱视频| 91精品国产综合久久香蕉的特点| 日韩激情一区二区| 欧美电影免费观看高清完整版在线观看| 美日韩一区二区三区| 国产午夜久久久久| 国产一区二区精品久久| 中文字幕视频一区| 日韩写真欧美这视频| 粉嫩欧美一区二区三区高清影视| 久久久久久久综合色一本| 麻豆精品在线视频| 日韩福利电影在线| 欧美一区二区三区色| 免费在线一区观看| 欧洲一区在线观看| 亚洲欧美电影一区二区| 91久久精品一区二区三| 日韩精彩视频在线观看| 欧美日韩精品欧美日韩精品 | 91丨九色丨国产丨porny| 日韩视频在线一区二区| 久久亚洲精品小早川怜子| 综合婷婷亚洲小说| 国产成人在线网站| 91麻豆精品国产91久久久资源速度 | 久久婷婷国产综合精品青草| 欧美肥妇bbw| 国产精品99久久久久久似苏梦涵 | 另类小说视频一区二区| 欧美大胆人体bbbb| 国产成人av一区二区|