1.线性表的顺序存储结构要求:利用书本上的线性表的顺序存储结构定义,#define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量typedef struct{ElemType *elem; // 存储空间基址int length; // 当前长度} SqList;1)编写完成下列功能的函数:(1)初始化一个线性表;(2)创建一个包含n个正整数值的线性表(线性表的长度n和表中元素的值随机输入);(3)将一个数x插在第i个元素前(x和i在程序运行时输入);(4)删除第i个元素(i在程序运行时输入),并在删除结束后输出删除元素的值;(5)查找指定元素e是否在线性表中存在,若存在返回此元素的位序,否则返回0;(6)查找指定位置元素的值并输出;(7)输出线性表中所有元素。2)用主函数调用你所编写的函数,并在使线性表有所变化的每一步输出线性表的内容,以验证你编程序的正确性。备注:(1)要求编一菜单,根据选项逐个调用各函数;(2)所编程序要具有一定的健壮性,即:在插入删除时要考虑表空、表满、位置是否合法等情况,当输入数据非法时,程序也能适当的做出反应,而不致于出现莫名其妙的结果。