2.6 单链表的插入和删除

1 按位序插入(带头结点)ListInsert(&L, i, e):插入操作。在表 L 中的第 i 个位置上插入元素 e。// 在第 i 个位置插入元素 e(带头结点) bool ListInsert(LinkList &L, int i, ElemType e) { if (i < 1) { return false; } LNode

- 阅读全文 -

2.5 单链表的定义

顺序表可以随时存取表中的任意一个元素,但插入和删除需要移动大量元素。链式存储线性表时,不需要使用地址连续的存储单元,因此插入和删除不需要移动大量元素,而只需修改指针,但也会失去顺序表可随机存取的优点。1 单链表的定义线性表的链式存储又称单链表,它是通过一组任意的存储单元来存储线性表中的数据元素。为了建立数据元素之间的线性关系,对每个链表结点,除存放元素自身的信息外,还需要存放一个指向其后继的指针。

- 阅读全文 -

2.4 顺序表的查找操作

1 按位查找GetElem(L, i):按位查找操作。获取表 L 中第 i 个位置的元素的值。#define InitSize 10 // 顺序表的初始长度 typedef struct{ ElemType data[MaxSize]; // 静态分配 int length; } SqList; ElemType GetElem(SqList L, int i) { re

- 阅读全文 -

2.3 顺序表的基本操作

1 插入操作1.1 插入方法的定义在顺序表 L 的第 i(1 <= i <= L.length + 1)个位置插入新元素 e。若 i 的输入不合法,则返回 false,表示插入失败;否则,将顺序表的第 i 个元素及其后的所有元素右移一个位置,腾出一个空位置插入新元素 e,顺序表长度增加 1,插入成功,返回 true1.2 插入方法的代码实现#define MaxSize 10; typ

- 阅读全文 -

2.2 线性表的顺序表示

定义:用顺序存储的方式实现线性表顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现1 静态分配使用静态分配定义的顺序表,后续表长不能变更。1.1 定义顺序表#define MaxSize 10 // 定义线性表最大程度 typedef struct { ElemType data[MaxSize]; // 用静态的“数组”存放数据元素

- 阅读全文 -