📄 changerecord.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 + -