实验一 线性表操作实验题目.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一线性表操作实验题目实验一线性表操作实验题目

实验一 线性表操作 实验目的: (1)掌握在顺序、链式存储结构上实现线性表的各种基本运算。 (2)重点掌握单链表的基本操作及应用。 (3)学会综合运用C语言中函数、指针、结构体等知识进行编程。 本次实验中,下列实验项目选做一。 1、顺序表的综合操作 [问题描述] 设计算法,实现线性结构上的顺序表的建立以及元素的查找、插入、删除等操作。 [基本要求及提示] (1)从键盘输入10个整数,建立顺序表。 (2)从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。 (3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。 (4)从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。 (5)要求程序通过一个主菜单进行控制,在主菜单界面通过选择菜单项的序号来调用各功能函数。 2、线性表的逆置 [问题描述] (1)以顺序存储结构实现线性表的就地逆置。 (2)以链式存储结构实现线性表的就地逆置。 注:线性表的就地逆置就是在原表的存储空间内将线性表(a1,a2,a3,…,an)逆置为(an,an-1,…,a2,a1)。 [基本要求及提示] (1)从键盘输入10个整数,建立顺序表。 (2)实现顺序表逆置,并将结果输出。 (3)从键盘输入10个整数,建立链表。 (4)实现链表逆置,并将结果输出。 (5)要求程序通过一个主菜单进行控制,在主菜单界面通过选择菜单项的序号来调用各功能函数。也可以将顺序表和链表上的操作分开,做成两个程序。 3、线性表的元素分类 [问题描述] 已知线性表中元素均为正整数,设计算法将其调整为前后两部分,前边均为奇数,后边均为偶数。即实现线性表的元素的分类。 [基本要求及提示] (6)从键盘输入10个整数,建立顺序表。 (7)实现顺序表上的元素分类,并输出结果。 (8)从键盘输入10个整数,建立链表。 (9)实现链表的元素分类,并输出结果。 (10)要求程序通过一个主菜单进行控制。也可以将顺序表和链表上的操作分开,做成两个程序。 (11)要求程序的时间复杂度为O(n),空间复杂度为O(1)。 4、线性表的有序合并 [问题描述] 已知有两个非递减的线性表,设计算法将其有序合并为一个线性表,元素值是非递增排序。 [基本要求及提示] (1)从键盘输入两个非递减的整数序列,建立两个非递减的顺序表L1,L2。 (2)将顺序表L1,L2有序合并,结果非递增,输出合并后的结果。 (3)从键盘输入两个非递减的整数序列,建立两个非递减的链表L3,L4。 (4)将链表L3,L4有序合并,结果非递增,输出合并后的结果(采用头插法)。 (5)要求程序通过一个主菜单进行控制。也可以将顺序表和链表上的操作分开,做成两个程序。 (6)要求程序的时间复杂度为O(n),空间复杂度为O(1)。 5、链表的综合操作 [问题描述] 设计算法,实现线性结构上的链表的建立、元素的查找、插入、删除等操作。 [基本要求及提示] (1)从键盘输入10个字符以$结束,建立链表。 (2)从键盘输入1个序号,在链表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。 (3)从键盘输入1个整数,表示欲插入的位置i,再输入一个字符x,将x插入在i位置上,输出链表所有结点值,观察输出结果。 (4)从键盘输入一个整数,表示欲删除结点的位置,删除该结点,然后输出链表所有结点值,观察输出结果。 (5)要求程序通过一个主菜单进行控制,在主菜单界面通过选择菜单项的序号来调用各功能函数。 6、在顺序表上删除自第i个开始的k个元素 [问题描述]  建立一个非空的值域为整数的顺序表,从键盘输入i和k的值,编程实现删除自第i个元素开始的k个元素。 [基本要求] (1) 建立长度至少为10的顺序表; (2) 从键盘输入两个整数i和k,进行删除运算,删除成功显示“OK”,不成功显示“ERROR”。注意讨论i和k的合法性。 (3) 显示顺序表的内容; (4) 要求程序通过一个主菜单进行控制,在主菜单界面通过选择菜单项的序号来调用各功能函数。 7、在顺序表上删除所有值为item的数据元素 [问题描述]  建立一个非空的值域为整数的顺序表,从键盘输入一个整数item,编程实现删除表中所有值为item的数据元素。 [基本要求] (1) 建立长度至少为10的顺序表; (2) 从键盘输入一个整数item,删除表中所有与item相同的元素,删除成功显示“OK”,不成功显示“ERROR”。 (3) 显示顺序表的内容; (4) 要求程序通过一个主菜单进行控制,在主菜单界面通过选择菜单项的序号来调用各功能函数。 8、在顺序表上删除所有值相等的多余元素 [问题描述]

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档