type
status
date
slug
summary
tags
category
icon
password
鹏北海,凤朝阳。又携书剑路茫茫。明年此日青云上,却笑人间举子忙。
——辛弃疾
📝 主旨内容
基本要求
为了方便查阅,我们先把本次实验的基本要求放在这里:
- 建立线性表(分别使用数组和链表)
- 进行元素的增删查改
顺序表的数组实现
顺序表的链表实现
进阶要求
1.已知线性表La 和Lb中的数据元素按值非递减有序排列,现要求将La和Lb
归并为一个新的线性表Lc,且Lc中的数据元素仍按值非递减有序排列。
例如:
La=(1 ,7, 8)
Lb=(2, 4, 6, 8, 10, 11)
Lc=(1, 2, 4, 6, 7 , 8, 8, 10, 11)
实现
1.正序建立单链表,并打印输出该单链表。
2.教材第二章课后习题二(6),通过一趟遍历,确定长度为n的单链表中值最大的元素并输出。
3.设数组a={11,33,44,68,77},数组b={22,33,77,88,99},两个数组均
(1)求a和b的并集, 统计并集中元素的个数。
(2)求a和b的交集, 统计交集中元素的个数。
(3)在数组a中插入55,保持数组a有序。
(4)在数组b中删除元素77。
🤗 总结归纳
总的来说,顺序表的实现难度并不大,但是如果和示例一样给用户比较好的交互体验还是比较困难的。其他一些细节如下:
- Status这个返回值,主要是用于自定义返回值,方便区分一些异常或者错误,但是在学习C++之后,我认为抛出异常会更加合适,当然这样可能对用户不友好,因为是返回英文。
- C语言的结构体是没有的成员函数的,所以在这一方面远没有C++对于自身成员函数的调用灵活,而且缺少封装。
- 程序编写过程中,时刻应该考虑的一个问题就是,如果索引超出范围应该怎么做。
有关本文复现以及其他相关内容,欢迎您在底部评论区留言,一起交流~
- 作者:Schemer
- 链接:https://schemer.top/article/data-structure/Sequence-table/code
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。