电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构上机试验源文件

数据结构上机试验源文件_第1页
1/22
数据结构上机试验源文件_第2页
2/22
数据结构上机试验源文件_第3页
3/22
数据结构第 一 、 二 次 上 机 :#include #include #include #define TRUE 1 #define FALSE 0 #define OK 1#define ERROR 0#define INFEASIBLE -1 #define OVERFLOW -2#define list_init_size 100//线性表存储空间的初始分配量#define LISTINCREMENT 10//线性表存储空间的分配增量typedef int Status; typedef intElemType;typedef struct{ElemType *elem;//存储空间基址int length;//当前长度intlistsize;//当前分配的存储容量(以sizeof(ElemType)为单位) }SqList;Status InitList_Sq(SqList&L){//构造一个空的线性表*LL.elem=(ElemType)malloc(list_init_size*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);// 存 储 分 配 失 败L.length =0;// 空 表 长 度 为 0L.listsize =list_init_size;// 初 始 存 储 容 量returnOK; }//Initlist_SqStatus ListInsert_Sq(SqList&L,inti,ElemType e){//在顺序线性表 L 中第 i 个位置之前插入新的元素 e,//i的 合 法 值 为1<=i<=ListLength_Sq(L)+1ElemType *p,*q,*newbase;// 定 义 指 针if(i<1||i>L.length+1)returnERROR;//i 值不合法if(L.length>=L.listsize ){//当前存储 空 间 已 满 , 增 加 分 配newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);// 存 储 分 配 失 败L.elem =newbase;//新基址L.listsize+=LISTINCREMENT;// 增 加 存 储 容 量}q=&(L.elem [i-1]);//q 为插入位置for(p=&(L.elem [L.length -1]);p>=q;--p)*(p+1)=*p;// 插 入 位 置 及 之 后 的 元 素 右 移*q=e;//插入 e++L.length//表长增1return OK; }//ListInsert_SqStatusListDelete_Sq(SqList&L,inti,ElemType&e){// 在 顺序线性表 L 中删除第 i 个元素,并用 e 返回其值//i的 合 法 值 为 1<=i<=ListLength_Sq(L)ElemType*p,*q;//定义指针if((i<1) ||(i>L.length ))return ERROR;//i值不合法p=&(L.elem [i-1]);//p 为被删除元素的位置e=*p;//被删除元素的值赋给eq=L.elem +L.length -1;//表尾元素的位置for(++p;p<=q;++p)*(p-1)=*p;// 被 删 除 元 素 之 后 的 元 素 左 移--L.length//表长减 1return OK; }//ListDelete_sqvoid display(SqList L) {//定义 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构上机试验源文件

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部