一、顺序存储
1.初始化(空表)
顺序表的初始化就是把顺序表 初始化为空的顺序表;只需把顺序表的长度length置为0即可;

2.求长度
nt Length()只需返回成员变量length的值

3.查找

4.插入
在第 i 个位置插入一个值为X的元素,先移动 i 及其后面元素的位置(从最后一个开始往后移动),再插入

5.增加/删除

二、链式存储
1.初始化

2.求长度

3..查找
(1)按序号查找(遍历)

(2)按值查找(通过数X找到这个数)
的位置
4.插入(在第i-1个结点后插入一个值为X的新结点)
要知道插的结点的前面一个是谁
(1)先构造一个新的结点,用s指向
(2)再找到链表的第i-1个结点,用p指向
(3)修改指针,插入结点(p之后插入新结点是s)
平均查找次数是n/2;

5.增加
函数的第一个参数head是一个指向指针的指针,当向一个空链表中插入一个节点时,新插入的节点就是链表的头指针,由于此时会改动头指针,因此必须把head参数设为指针的指针,否则出了这个函数head仍然是一个空指针。

6..删除(删除链表第i个位置的结点)
(1)先找到链表的第i-1个结点,用p指向;
(2)用指针s指向要被删除的结点(p的下一个结点);
(3)修改指针,删除s所指结点
(4)最后释放s所指结点的空间
平均时间复杂度是n/2;

本文介绍了顺序存储和链式存储两种数据结构在初始化、求长度、查找、插入和删除操作上的实现细节。顺序存储中,插入和删除涉及元素移动;链式存储中,插入和删除通过修改指针完成,插入操作需考虑头结点的变化。平均查找时间复杂度为n/2。
1484

被折叠的 条评论
为什么被折叠?



