- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法与数据结构实践考核上机练习题15
PAGE
PAGE 5
算法与数据结构上机考试练习题1-5()
(一)顺序表基本操作及应用
一、顺序表基本操作
1、考核要求
实现顺序表动态存储结构的创建、查找、插入、删除、遍历等基本操作。
2、数据结构定义参考
typedef struct {
int *elem; // 存储空间基址
int length; // 当前长度
int listsize; // 当前分配的存储容量
}SqList;
3、基本操作定义参考
bool InitList(SqList L) // 构造一个空的顺序表
int LocateElem(SqList L, int e)
// 查找表中第1个与e相等的元素,返回元素的位序
bool ListInsert(SqList L,int i, int e)
// 在顺序表中第i个位置之前插入数据元素e
bool ListDelete(SqList L,int i)
// 删除顺序表中的第i个数据元素
bool ListTraverse(SqList L)//遍历顺序表
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空表,输出初始化结构数据。
(2)在表尾依次插入1 2 3 4 5 6 7 8 9 10,并遍历输出。
(3)查找值为12的元素,并给出查询结果。
(4)删除值为9的元素,并遍历输出。
5、程序运行结果参考
初始化L后:L.elem=2086 L.length=0 L.listsize=10在L的表尾依次插入1~10后:L.elem=1 2 3 4 5 6 7 8 9 10
没有值为12的元素
依次输出L的元素:L.elem =1 2 3 4 5 6 7 8 9 10
二、顺序表基本应用
1、考核要求
应用顺序表的基本操作实现直接插入排序。
2、程序验收
例如:初始数据 1 6 5 3 4 2
排序后 1 2 3 4 5 6
(二)单链表基本操作及应用
一、单链表基本操作
1、考核要求
实现单链表结构的创建、查找、插入、删除、遍历等基本操作。
2、数据结构定义参考
typedef struct LNode {
int data; // 数据域
struct LNode *next; // 指针域
};
typedef struct LNode *LinkList;
3、基本操作定义参考
bool InitList(LinkList L) // 构造一个空的单链表
int LocateElem(LinkList L, int e)
// 查找表中第1个与e相等的元素,返回元素的位序
bool ListInsert(LinkList L,int i, int e)
// 在顺序线性表中第i个位置之前插入数据元素e
bool ListDelete(LinkList L,int i)
// 删除顺序线性表中的第i个数据元素
bool ListTraverse(LinkList L)//遍历单链表
4、程序验收
从键盘录入基础数据,测试各基本操作模块的功能。
测试流程:
(1)创建空表,输出初始化结构数据。
(2)在表尾依次插入1 2 3 4 5 6 7 8 9 10,并遍历输出。
(3)查找值为12的元素,并给出查询结果。
(4)删除值为9的元素,并遍历输出。
5、程序运行结果参考
在L的表尾依次插入1~10后:L=1 2 3 4 5 6 7 8 9 10
没有值为12的元素
依次输出L的元素:L=1 2 3 4 5 6 7 8 9 10
二、单链表基本应用
1、考核要求
应用单链表的基本操作实现直接插入排序。
2、程序验收
例如:初始数据 L=1 6 5 3 4 2
排序后 L=1 2 3 4 5 6
(三)顺序栈基本操作及应用
一、顺序栈基本操作
1、考核要求
实现顺序栈的创建、取栈顶元素、入栈、出栈等基本操作。
2、数据结构定义参考
typedef struct {
int *base; //存储空间基址,base的值为NULL
int top; // 栈顶指针
int stacksize; // 当前已分配的存储空间
}SqStack;
3、基本操作定义参考
boolInitStack(SqStack S) // 构造一个空栈
boolStackEmpty(SqStack S) // 判断栈是否为空栈
bool GetTop(SqStack S,int e)
您可能关注的文档
最近下载
- T_CNHAW 0011-2024 干眼诊疗中心分级建设要求.pdf
- 2025年道路交通安全法律法规知识竞赛题库及答案(共770题) .pdf
- ANSYS CFD-Post使用细节说明.pdf VIP
- 小学生阅读能力测试表.pdf
- 街头女郎玛吉.pdf
- 小学生心理健康教育实施现状及改进建议教学研究课题报告.docx
- 2025年山西卫生健康职业学院单招职业倾向性测试题库及完整答案1套.docx VIP
- 新苏教版小学科学三年级下册10《声音的传播》教学设计.pdf VIP
- 八年级下册物理期中复习(压轴60题19大考点)-八年级下册物理同步知识解读与专题训练(苏科版)(解析版).docx
- 2025年人教版一年级数学下册第四单元测试卷(含答案).docx VIP
文档评论(0)