数据结构与算法(线性表)练习题.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.word .word资料. 三、 写一个算法合并两个已排序的线性表。(用两种方法:数組表示的线性表〈顺序表)和 指针表示的线性表(链表)) 要求:1、定义线性表节点的结枸,并定义节点的型和位豈的型。 2、定义线性表的基本操作 3、 在1, 2的基础上,完成本题。 在main函数中进行测试:先构建两个冇序的线性表,然后合弁这两个线性表。 四、 已如一个单向链表,试给出复制该链表的算法。 要求:1、定义线性表的节点的结构以及节点的型和位置的型。 2、 定义线性表的基本操作 3、 在1, 2的基础上,完成本题. 4、 在main函数中进行测试:先构建一个线性表,并定义一个空线性表,然后进 行复制。 五、 写出从一个帯表头的单链表中删除其值等于給定值X的摇点的算法函教: int delete (LIST L. int x):如果x在该链表中,则删除对应结点,并返回其在链表 中的位K (11辑位置,第一个姑点的逻转位置为1),否则返回-L 要求:1、定义线.性表的节点的结构以及节点的型和位豈的型。 定义线性表的基本操作 在1, 2的基础上,完成本题。 在main函数中进行测试:先构建一个线性表,然后调用函教删除值等于给定 值的节点。 六、 写出一个将两个静态链表(属于同一个存储池)合并的算法函数: void Merge (cursor M, cursor N);合并的方法是将N链表中的所有姓点添加到M链 表的后面,并将N链表的表头结点添加到空闲结点链表中。 要求:1、定义铮态链表的姑点的结构以及结点的型SPACE以及位豊(position)和游标 (cursor)的型。 定义静态链表的基本操作:void InitializeO;初始化,将所有存储池中的站点设 豈为空闲;cursor GetNodeO;从空闲链中获取一个姑点:void FreeNode(cursor q);将 结点 q 加入到空闲链:void Insert ( elementtype x, position p, cursor M );在链表 M中的位豊为p的元素后面添加一个值为x的结点:void Delete (cursor M, position p ); 在链表M中删除位置为p的元素的后一个元素。 3、 在1、2的基础上完成本题。 4、在main函数中进行测试:先构建一个存储池,然后在该存储池中创建两个静态 表,最后将这两个靜态表合并。 七、 利用指针表示的线性表(饒表)表示一个多顼式,并实现西个多项式的相加和相乘运算. 假设多项式形式为:A(.x) = afa + +... +冬/ 其中,系数a *0,指数e满足2j“?%=(). 要求:1、定义多项式每一項的结构。 2、 定义两个多项式的相加和相乘运算函数。 3、 在main函数中,构建两个多项式,并测试相加和相乘运算。 八、试编写一个整数进制转换的通用函数convert (int num, STACK S, int n),要求将整 数m转换为n进制数,n进制救的各位依次存放在栈S中。并在主函数中进行测试. 要求:1、定义栈以及枝的型。 2、定义桟的各种操作。 3、实现函数convert. 4、在main函数中,通过调用函数convert将num的n进制敷存放到一个栈中, 并通过出枝的方法输出该n进制数 九,设有一个循环队列Queue.只有头指针front,不设尾指针,另设一个含冇元素个数的 计数器count.试写出相应的利断队列空、判断队列满、出队算法和入队算法0 要求: 1、 定义相应的循环队列的型(只有头指针,没有尾指针,但有一个元素个数的计数器); 2、 定义该队列的四个算法:判断队列空、判断队列满、出队算法和入队算法: 3、 在main函数脸证非法的正确性。 十、设主串 T= Mabcaabbabcabaacbacba。模式为 p= uabcabaa \ 1、计算模式p的nextva I函数值 不写昇法,只画出利用KMP算法进行模式匹配时,每一趙的匹配过程。 要求: 1>写出模式p的nextvaI值: 2、 画出KMP界法的每一趙匹配过程(可參照教材P61从第8行开始的容): 3、 不喜要编写住序. 十一、假设表达式中允许包含三种括号:圆括号.方括号和大括号。设计一个算法发用姬序 桟(用数组表示的桟)判断表达式中的括号是否正确配对。 要求: 1、定义枝以及栈的型,桟中所存放元素的类型为字符型,定义枚举类型Boolean, 其中两个元素分别为TRUE和FALSE。 定义枝的各种操作。 定义函It Boolean check (char *s);判断s中的括号是否正确配对,如果正确配对. 返回TRUE,否则返回FALSE0 4、 在主函数中脸证所编写函数的正确姓。 十二、设有一个带头姑点的双向链表h,设计

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地广西
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档