数据结构三要素---逻辑结构、数据的运算、存储结构(物理结构)
存储结构不同-->运算的实现方式不同
线性表概念:
-
线性表定义:
- 相同数据类型、n(n>=0)个数据元素、有限序列
- 表长n L命名线性表 L=(a1,...an)
-
几个概念
- ai是第i个,位序,从1开始;数组下标0开始
- a1表头,an表尾元素
- 直接前驱、直接后继
基本操作---逻辑结构:创销、增删改查
-
InitList(&L)
- 初始,分配内存空间
-
DestoryList(&L)
- 销毁,释放内存空间 &L
-
ListInsert(&L,i,e)
- 插入,i位置元素e
-
ListDelete(&L,i,&e)
- 删除,i位置元素。e返回删除元素的值
-
LocateElem(L,e)
- 按值查找,
-
GetElem(L,i)
- 按位查找,
-
Length
- 数据元素个数
-
PrintList(L)
- 前后顺序所有元素值
-
Empty(L)
- L空表true
关于&:
若是没有&,则调用test后 x=1;
C++ 在线工具 | 菜鸟工具在编辑器上输入简单的 C++ 代码,可在线编译运行。..https://c.runoob.com/compile/12/
是可以在线运行c/c++代码的网站,方便快捷
基本操作---运算
Why??为什么要实现对数据结构的基本操作?【比起How,更重要的是why】
- 团队合作编程,定义的数据结构要让别人很方便的使用(封装)
- 将常用的操作/运算封装成函数,避免重复工作,降低出错风险
函数命名要有可读性、理解传入参数&的引用