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

📄 changerecord.h

📁 数据结构大作业的非界面版
💻 H
字号:
//changerecord.h
////////////////////////////////////////////////////////////////////////

  ///////////////////////////////////////////
  //定义一次读写文件的逻辑块的大小
  const int m=5;
  //定义主文件记录的逻辑删除标志
  const int DeleteMark=-100;
  //定义关键字的类型为整型
  typedef int KeyType;
  //定义记录类型(0表示字节流,1表示链接方式)
  typedef int Elemkind;
  const int MAXLEN=100;
  //主文件中的记录类型
  struct ElemType 
  {    
 	  KeyType key;      //关键字域
	  char Mark[10];    //记录标识
	  int  len;         //数据块长度
	  Elemkind kind;    //记录类型
	  char Elem[MAXLEN];//数据域,假定用字符数组表示
  };
  //索引文件中的记录类型
  struct IndexItem 
  {  
	  KeyType key;      //关键字域
	  int next;         //保存对应记录的存储位置域
  };
  ///////////////////////////////////////////

  //类库声明
  class ChangeRecord
  {
  private:
	  //...
	  void SeqInsert(IndexItem A[], int mm, IndexItem x);
          void IFInsert(char *fname2, IndexItem x);
          bool SeqDelete(IndexItem A[], int mm, IndexItem& x);
          bool IFDelete(char *fname2, IndexItem& x);
          bool IFSearch(char* fname2, IndexItem& x);
	  void PrintLinkFile(ElemType&x);

  public:
	  //...
          void PrintMainFile(char* fname1);
          void PrintIndexFile(char* fname2);
          void PrintDeleteFile(char* fname1);
          void MFAppend(char* fname1, char* fname2, ElemType a[], int n);
          void MFDelete(char* fname1, char* fname2, KeyType a[], int n);
          void MFSearch(char* fname1, char* fname2, KeyType a[], int n);
       	  bool MarkSearch(char*fname1,ElemType&x);
	  bool KeySearch(char*fname1,ElemType&x);
          void MarkSearch2(char*fname1,ElemType&x);
	  void MarkDelete(char*fname1,char*fname2,ElemType&x);
	  void MarkReplace(char*fname1,ElemType&x);
	  void RecordReplace(char*fname1,ElemType&x);
  };

⌨️ 快捷键说明

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