⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.h

📁 linux 下用c++ 开发的一个小型数据库系统
💻 H
字号:
#ifndef SORT_H#define SORT_H#include "heapfile.h"// define if debug output wanted//#define DEBUGSORT// SORTREC is an in-memory sort record that qsort(3) sorts.// The sort attribute as well as the associated RID are// stored in the record. The RID is used for fetching the// full record when it is needed.typedef struct {  RID rid;                              // record id of current record  char* field;                          // pointer to field  int length;                           // length of field} SORTREC;class SortedFile { public:  SortedFile(const string & fileName, 	     int offset,// sort source file on the given	     int length, Datatype type, // attribute	     int maxItems, Status& status);  Status next(Record & rec);            // fetch next record in sort order  Status setMark();                     // record a position in sort sequence  Status gotoMark();                    // go to last recorded spot  ~SortedFile();                        // destroy temporary structures / files private:  Status sortFile();                    // split source file into sub-runs  Status generateRun(int numItems);     // generate one sub-run of file  Status startScans();                  // start a scan on each sorted run  typedef struct {    string name;                        // name of run file    HeapFileScan* inFile;               // ptr to input file    InsertFileScan* outFile;		// ptr to output file    int valid;                          // TRUE if recPtr has a record    Record rec;    RID rid;                            // RID of current record of run    RID mark;  } RUN;  vector<RUN> runs;                   // holds info about each sub-run  HeapFile* hfile;                   // source file to sort  HeapFileScan* hfs;                   // source file to sort  string fileName;                      // name of source file to sort  Datatype type;                        // type of sort attribute  int offset;                           // offset of sort attribute  int length;                           // length of sort attribute  SORTREC* buffer;                      // in-memory sort buffer  int maxItems;                         // max. # of items/tuples in buffer  int numItems;                         // current # of items in buffer};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -