1. 设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。 2.在带头结点的单链表L中,删除所有值为x的结点,并释放其空间,假设值为x的结点不唯一,试编写算法以实现上述操作。 3. 设I为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。 4.试编写在带头结点的单链表L中删除一个 ...
分类:
其他好文 时间:
2020-07-10 10:13:31
阅读次数:
71
一、什么是线性表 线性表是数据的线性结构中的一个,它是我们在一般编程中比较常用的一个结构,其中线性表的定义是:具有相同数据类型的n(n≥0)个元素的有限序列其中n为表长,当n = 0时是一个空表。 二、线性表的特点 (1)在线性表中的元素具有逻辑顺序,每个元素都是按照一定顺序排列的。 (2)表中的每 ...
分类:
其他好文 时间:
2020-07-08 23:12:50
阅读次数:
70
最近复习了线性表,对链表这一部分遗忘最大,所以手动实现一下加深理解,附上C++代码: #include <iostream> using namespace std; typedef struct LNode //定义一个结构体作为链表结构,有指针域和数据 { int data; struct LN ...
分类:
编程语言 时间:
2020-07-07 09:54:52
阅读次数:
88
队列 概念 队列:是限只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 遵循先进先出原则,简称FIFO 线性表 —> 用数组或是链表来实现。 抽象数据类型 队列也有类似线性表的各种操作,不同的是 插入数据只能在队尾进行 删除数据只能在队头进行 实际场景:银行叫号排队 数组模拟队列 思路分析 ...
分类:
其他好文 时间:
2020-07-06 01:02:49
阅读次数:
57
?# 栈与队列 栈 概念 栈:是限定仅在表尾进行插入和删除操作的线性表。 **栈顶(top):**允许插入和删除的一端,即表尾称为栈顶 栈底(bottom):表头称为栈底 栈是LIFO结构,后进先出。 与线性表相比,特殊之处在于 限制了线性表的插入和删除位置,始终在栈顶进行。 所以栈底是固定的,最先 ...
分类:
其他好文 时间:
2020-07-06 01:01:36
阅读次数:
62
1.单个线性表+位置指针: //栈 int stack[LEN],top=-1; //入栈 stack[++top]=x; //出栈 x=stack[top--];//队列int queue[LEN],front=0,last=0;//入队queue[last++]=x;front=(front+1 ...
分类:
其他好文 时间:
2020-07-05 23:26:40
阅读次数:
112
栈是一种基本的数据结构 基本概念 栈(Stack):具有一定操作约束的线性表。 只在一端(栈顶,Top)做插入、删除操作 插入数据:入栈(Push) 删除数据:出栈(Pop) 后入先出:Last In First Out(LIFO) 抽象数据类型描述 类型名称:栈 数据对象集:一个有0个或多个元素的 ...
分类:
其他好文 时间:
2020-07-05 19:36:04
阅读次数:
71
线性表是最基本的数据结构。 基本概念 线性表(Linear List):由同类型数据元素构成有序序列的线性结构。 表中元素个数称为线性表的长度 线性表没有元素时称为空表 表起始位置为表头,表结束位置为表尾 抽象数据类型描述 类型名称:线性表 数据对象集:线性表是n个元素构成的有序序列(a1,a2,· ...
分类:
其他好文 时间:
2020-07-05 19:33:45
阅读次数:
62
C语言实现线性表栈 //栈--线性表实现 #define ERROR -1 typedef int Position; typedef int ElemType; struct SNode{ ElemType *Data; Position Top; int MaxSize; }; typedef ...
分类:
编程语言 时间:
2020-07-05 19:24:06
阅读次数:
64
队列是一种基本的数据结构 基本概念 队列(Queue):具有一定操作约束的线性表 只能在一端插入,而在另一端删除 数据插入:入队列(AddQ) 数据删除:出队列(DeleteQ) 先进先出:First In First Out(FIFO) 抽象数据类型描述 类型名称:队列 数据对象集:一个有0个或多 ...
分类:
其他好文 时间:
2020-07-05 19:11:44
阅读次数:
64