1、    假设有一张职工表,每个职工包含职工号与部门两项内容,现准备使用索引存储结构,其中主表及索引表均采用顺序存储,且主表的记录类型定义为:
typedef struct {
int key;   //职工号,作为关键字域
char depart[13];  //部门名称,作为索引值域
int next;   //链接同一部门的职工记录
       } ElemType;  
要求编写以下几个算法:
①    实现在已经包含n个记录的顺序存储的主表A上建立具有m个索引项的索引表B,并同时把主表A中同一部门的记录依次链接起来的算法:
void CreateIndexList(mainlist A, int n, indexlist B, int m)
②    在n个记录的主表A与m个索引项的索引表B中查找职工号为key、部门为depart的职工,并返回该职工记录在主表中的位置的算法:
int SearchIndexList(mainlist A, int n, indexlist B, int m, int key, char *depart)
③    插入记录worker的算法:
void InsertIndexList(mainlist A, int &n, indexlist B, int &m, ElemType worker)
其中A为存储n个记录的主表,B为m个索引项的索引表。
④    (选做)删除记录worker(做删除标记)的算法: 
void DeleteIndexList(mainlist A, int &n, indexlist B, int &m, ElemType worker)
其中A为存储n个记录的主表,B为m个索引项的索引表,需删除记录的职工号为worker.key、部门为worker.depart。
把主表及索引表的存储结构定义以及上述这些函数存放在头文件Index.h中。   
2、    编写测试程序(即主函数),首先输入职工表(包括职工人数与部门数),然后调用上述函数建立索引存储结构并进行查找、插入、删除等操作。
把主函数存放在文件test11.cpp中。