具体的对象:.成员运算符
指针:->指向结构体成员运算符,用处是使用一个指向结构体或对象的指针访问其内成员。
对于指针p p->a 被定义为 (*p).a (不成文的标准)
infeasible 不能实现的
overflow 溢出
typedef char ElemTyepe:数据项,方便一改全改
查找,时间复杂度时n
i 的取值范围为[1,n+]
插入,时间复杂度时n
插入,时间复杂度时n
顺序表小结
链式存储结构
后面的是改变名字,
Lnode a;定义一个a结点, 用a.data操控成员,a是一个普通变量
Londe a;等价于LinkList a;两个都是定义一个指针结点,都可以,后者更加方便
都正确,但是,使用习惯,偏向于箭头指向的命名方式。
delete删除的是指针p指向的new出来的空间,不会删除指针
不能改变顺序,
循环链表
带尾指针的循环链表的合并:https://www.bilibili.com/video/BV1nJ411V7bd?p=36
双向链表:https://www.bilibili.com/video/BV1nJ411V7bd?p=37
总结:https://www.bilibili.com/video/BV1nJ411V7bd?p=40
顺序表和链表的比较:https://www.bilibili.com/video/BV1nJ411V7bd?p=41
链式存储结构的有点:
线性表的应用:
*稀疏多项式,
栈和队列
top和base是指针或者整型都可以,
指针相减,结果为两者之间差多少元素,必须为同一数值才能相减
链栈