数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法2-10.docx

上传人:太** 文档编号:60479120 上传时间:2022-11-16 格式:DOCX 页数:3 大小:14.01KB
返回 下载 相关 举报
数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法2-10.docx_第1页
第1页 / 共3页
数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法2-10.docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法2-10.docx》由会员分享,可在线阅读,更多相关《数据结构习题集(李冬梅 第2版)C语言版源程序习题源代码 习题集-算法2-10.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、/存储数据的基地址/当前个数/顺序存储结构为SqList/初始化/销毁顺序表/取值/插入/删除顺序表A中所有值为item的元素/输出顺序表/为顺序表分配一个大小为MAXSIZE的数组空间/存储分配失败退出/空表长度为0include include using namespace std;/函数结果状态代码#define OK 1define ERROR 0define OVERFLOW -2 /Status是函数的返回值类型,其值是函数结果状态代码 typedef int Status;define MAXSIZE 100 typedef struct SqList int *elem; i

2、nt length;SqList;Status InitList(SqList &L);Status DestroyList(SqList &L);Status GetElem(SqList Lz int i,int &e);Status Listinsert(SqList &L,int ifint e); void Deleteltem(SqList &A,int item);void PrintList(SqList L);int main()(SqList 1;InitList(1);Listinsert(1,lz1);Listinsert(1,2,3);Listinsert(1,3,3

3、);Listinsert(1,4,4);coutc”线性表为:”;PrintList (1);int item = 3;Deleteltem(1,item);coutcc”删除,Ycitemc”后的线性表为:”;PrintList(1);DestroyList(1);return 0; )/初始化Status InitList(SqList &L) /构造一个空的顺序表LL.elem=new intMAXSIZE; if(!L.elem) exit(OVERFLOW);L.length = 0; return OK;)/销毁顺序表Status DestroyList(SqList &L)/释放

4、空间/表长又变成0if (L.length)delete L.elem;/取值 StatusL.length = 0;GetElem(SqList L,int i,int &e)if (iL.length) return ERROR; e=L.elemi-l;return OK;/判断i值是否合理,假设不合理,返回ERROR /elemi-1单元存储第i个数据元素/插入Status Listinsert(SqList &L, int i, inte) /在顺序表L中第i个位置插入新的元素e, i值的合法范围是length+1if (iL.lengths1) return ERROR; if(L

5、.length=MAXSIZE) return ERROR; for (int j=L.length-1;j=i-l;j-) L.elemj+1=L.elemj;L.elemi-1=e;+L.length;return OK;/i值不合法/当前存储空间已满/插入位置及之后的元素后移 /将新元素e放入第i个位置 /表长加1/输出顺序表void PrintList(SqList L)coutn;for (int i=l;i=L.length;i+)int e;GetElem(L,i,e);coute;if (i!=L.length) coutH, coutnnendl;)/删除顺序表A中所有值为item的元素 void Deleteltem(SqList &A,int item) /删除顺序表A中所有值为item的元素int k=0;for (int i=0;iA.length;i+)if(A.elemi!=item)/k记录值不等于item的元素个数/从前向后扫描顺序表/查找值不为item的元素A.elemk=A.elemi; k+;)A. length=k;/利用原表的空间记录值不为item的元素 /不等于item的元素增1 /顺序表A的长度等于k输出结果:线性表为:1, 3, 3, 4删除3后的线性表为:1, 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁