- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数据结构习题课
注意事项 作业题听清楚布置的题号。 --做完整 作业题要读懂看清题目。 --用什么做 作业题忌抄袭。 --自己做 P33 4-3 C 5 n(n+1)(n+2)/6 顺序表结构的C语言定义 #define maxsize=线性表可能达到的最大长度; typedef struct { ElemType elem[maxsize]/* 线性表占用的数组空间*/ int last; /*记录线性表最后一个元素在数组elem[ ] 中的位置(下标值),空表置为-1*/ } SeqList; 单链表的存储结构的C描述 typedef struct Node / * 结点类型定义 * / { ElemType data; struct Node * next; }Node, *LinkList; /* LinkList为结构指针类型*/ 已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。 a. 在P结点后插入S结点的语句序列是:??E,A????????????????????????? ????????。 b. 在P结点前插入S结点的语句序列是:???H,L,I,E,A?????????????????????? 。 c. 在表首插入S结点的语句序列是:???F,M ??????????????????????? 。 d. 在表尾插入S结点的语句序列是:??L,J,A,G或 J,A,G??????。 P69 4. 1)表是否满? 2)找到插入位置 3)移位 4)修改表的长度 P69 5. 1)检查i和k的合法性。 2)以应移入位置i为中心,计算待移动元素下标。 3)修改表的长度。 P69 6. 1)注意检查mink和maxk的合法性:mink maxk 2)不要一个一个的删除(多次修改next域)。 P69 7. 1)镜像问题。 P69 8. 1)头插法实现递增变递减。 2)两个表元素的比较。 3)判断一表结束后的归并。 P69 10. 1)判断元素的类型后分别连入相应的链表。 顺序栈的初始化 void InitStack(SeqStack *S) {/*构造一个空栈S*/ S-top= -1; } 2)判栈空 3) 判栈满 4)进栈 5)出栈 6) 取栈顶元素 1、链栈的存储结构定义 2、链栈基本操作的实现 2)链栈的出栈操作 2) 入队 P102 1. (1)可能得到的出站车厢序列是: 123、132、213、231、321。 (2)不能得到435612的出站序列。 因为有S(1)S(2)S(3)S(4)X(4)X(3)S(5)X(5)S(6)S(6),此时按照“后进先出”的原则,出栈的顺序必须为X(2)X(1)。 能得到135426的出站序列。 因为有S(1)X(1)S(2)S(3)X(3)S(4)S(5)X(5)X(4)X(2)X(1)。 P102 2.(1) A、B、C、D、E (输出队首元素A) A、B、C、D、E、A (把队首元素A插入到队尾) B、C、D、E、A (删除队首元素A) C、D、E、A (再次删除队首元素B) C、D、E、A (输出队首元素C) C、D、E、A、C (把队首元素C插入到队尾) D、E、A、C (删除队首元素C) E、A、C (再次删除队首元素D) E、A、C (输出队首元素E) E、A、C、E(把队首元素E插入到队尾) A、C、E(删除队首元素E) C、E(再次删除队首元素A) C、E(输出队首元素C) C、E、C(把队首元素C插入到队尾) C (删除队首元素C、E) C(输出队首元素C) P102 3. (1)顺序栈 (top用来存放栈顶元素的下标) 判断栈S空:如果S-top==-1表示栈空。 判断栈S满:如果S-top==Stack_Size-1表示栈满。 (2) 链栈(top为栈顶指针,指向当前栈顶元素前面的头结点) 判断栈空:如果top-next==NULL表示栈空。 判断栈满:当系统没有可用空间时,申请不到空间存放要进栈的元素,此
文档评论(0)