一、原理

1.定义

顺序表是在计算机中以数组形式保存的。

2.特点

在计算机中占用连续的一段内存

一旦声明,空间大小一般不变

二、初始化相关操作

包括:

(1)结构体的定义

(2)顺序表的创建

(3)顺序表清空

(4)判断顺序表是否为空

1.结构体定义

即定一个满足顺序表定义的结构体,其中包含 数组、存储长度、总长度。

2.初始化

对顺序表进行初始化,包括分配自定义长度的数组空间,设定存储长度为0,存储长度为规定值

3.清空

将顺序表内容清空,用于某些题目要求或节省空间

4. 判断是否为空

判断顺序表是否为空,在某些操作之前,先要判断顺序表是否为空,防止出错

intisEmpty(struct List *L){returnL->length==0?1:0;//顺序表最大长度为0则为空返回1,否则返回0}

三、增加相关操作

包括:

(1)向表头插入元素x

(2)向表尾插入元素x

(3)向第n个位置插入元素x

(4)向递增的线性表中插入元素x,之后仍然保持有序

进行操作之前,还需要一个方法,当插入元素超过数组长度时,将数组容量扩大,即重新申请空间

Tip:将顺序表扩大一倍空间

1.向表头插入元素x

2.向表尾插入元素x

3.向线性表L的第n个位置插入元素x

四、删除相关操作

包括:

(1)删除表头元素并返回被删除的值

(2)第n个元素并返回被删除元素

(3)从线性表L中删除值为X的第一个元素

1.删除表头元素并返回被删除的值

删除表头第一个元素,长度减少1,返回被删除的值

2.删除第n个元素并返回被删除元素

3.从线性表L中删除值为X的第一个元素

从线性表L中删除值为X的第一个元素,若删除成功则返回1,否则返回0

五、修改相关操作

包括:把线性表中第n个元素修改为x

1.把线性表中第n个元素修改为x

把线性表中第n个元素修改为x,若成功则返回1,失败返回0

六、查找相关操作

包括:

(1)查找第n个位置的值

(2)顺序遍历输出所有值

(3)返回值等于x的下标

1.查找第n个位置的值

输入要查找的坐标,若合法则范围对应的值,若非法则提示并推出

2.顺序遍历输出所有值

输出顺序表中的所有值

3.查找值为x的节点并返回其坐标

输入要查找的值x,若存在则范围首次出现的下标,否则返回0

voidfindElem(struct List *L,ElemType x){inti;for(i=0;ilength;i++){if(L->list[i]==x){returni;}}}

七、总结

1.优点

查找方便

空间利用率高

2.缺点

删除和增加操作效率低

空间固定,不易扩展

八、完整代码

学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,可以来笔者的C语言C++零基础编程学习圈,里面有学习视频和文件资料,还有更多志同道合的朋友,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

学习C/C++编程知识,欢迎关注笔者学习专栏一起成长:

C/C++编程学习聚集地​zhuanlan.zhihu.com

c++ list 修改_C/C++编程笔记:数据结构系列——顺序表的实现,内含源码相关推荐

  1. c++语言表白超炫图形_C/C++编程笔记:浪漫流星雨表白装b程序

    #include #include//图形库:easyX201905 #include #include#define MAXSTAR 1314 #define MAXMETEOR 520 //结构体 ...

  2. Tsai笔记:C++学习随性笔记(2)—— 数据结构:顺序表的基本操作

    Tsai笔记:C++学习随性笔记(2)-- 数据结构:顺序表的基本操作 Tsai三步.(第一步,功能说明.第二步,结果图显示.第三步,代码展示) 第一步,功能说明. 1.线性表的顺序存储 线性表的顺序 ...

  3. 卜若的代码笔记-数据结构系列-第十二章:栈三.链栈

    1.太简单了,不介绍了,直接贴代码,有问题请看10,11,章 //测试代码public static void main(String[] args) throws IOException {Link ...

  4. 数据结构_顺序表SeqList(C++

    数据结构_SeqList顺序表(C++实现 文章目录 数据结构_SeqList顺序表(C++实现 前言&注意事项 顺序表实现方法 总结 结束 前言&注意事项 有些函数没有修改成员数据的 ...

  5. 《数据结构》顺序表与链表

    目录 一.线性表 线性表简介 二.顺序表 1.定义顺序表类 2.功能实现: 打印顺序表 在pos位置新增元素 判定是否包含某个元素 查找某个元素对应的位置 获取pos位置的元素 给 pos 位置的元素 ...

  6. 【数据结构】顺序表的应用(4)(C语言)

    [数据结构]顺序表的应用(1)(C语言) [数据结构]顺序表的应用(2)(C语言) [数据结构]顺序表的应用(3)(C语言) 设计一个算法,将一个顺序表倒置,即如果顺序表各个节点值存储在一维数组a中, ...

  7. 【数据结构】顺序表的应用(3)(C语言)

    问题: 已知一个顺序表中的各节点值是从大到小有序的,设计一个算法,插入一个值为x的节点,使顺序表中的节点仍然是从小到大有序的. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #includ ...

  8. 【数据结构】顺序表的应用(2)(C语言)

    问题: 2.有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法,将它们合并成一个顺序表C,要求C的元素也按从小到大的升序排列. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #in ...

  9. 【数据结构】顺序表的应用(1)(C语言)

    问题: 1.将顺序表(a1,a2,-,an)重新排列以a1为界的两部分:a1前面的值均比a1小,a1后面的值均比a1大(这里假设数据元素的类型具有可比性,不妨设为整型). 头文件与该头文件一样:[数据 ...

最新文章

  1. 网页中的load函数
  2. 支持向量机 (SVM)分类器原理分析与基本应用
  3. Django 前后台的数据传递
  4. Direct2D教程(九)渲染位图
  5. wxWidgets:wxHashSet类用法
  6. 免 sudo 使用 docker
  7. mysql mvcc 隔离级别_关于 Mysql 四种隔离级别中 Lock 和 MVCC 的关系
  8. 解决pip安装pygal在TensorFlow环境下调用失败问题
  9. angular 多个片段拼接_教你怎么用手机制作和拼接短视频?
  10. GC调优在Spark应用中的实践
  11. Integer学习感悟
  12. 小技巧 ----- 通过二进制串的位运算进行二维指数型枚举
  13. python没有main函数的概念吗_为什么Python没有main函数?
  14. linux交叉编译 i2c-tools
  15. 要做最快的男人,教你用Python写一个打字测试器测试你的打字速度~
  16. 神经影像(核磁共振)概念及数据分析学习
  17. vm虚拟机关机后打不开_VMWARE虚拟机非正常关机导致无法启动的解决办法
  18. 自动驾驶技术(5)视觉与激光雷达对比
  19. Tokio教程之select
  20. LeetCode hot-100 简单and中等难度,21-30.

热门文章

  1. 分布式文件系统之ceph是什么?
  2. 数据结构:链式基数排序,通俗易懂!
  3. 【数据结构与算法】中缀表达式 - 后缀表达式 - 求值
  4. c4.5算法 程序语言,决策树之C4.5算法详解-Go语言中文社区
  5. 产品经理必懂的技术那点事儿 pdf_培养一个合格的产品经理需要多少钱?
  6. Java分布式系统高并发解决方案
  7. zookeeper的ZAB协议学习
  8. 10.term level 查询
  9. Vue属性篇_侦听器watch
  10. 1027 Colors in Mars (20 分)_20行代码AC