顺序、链式表存储:求长度、查找、增加\删除

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

一、顺序存储

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;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值