- 博客(5)
- 收藏
- 关注
原创 顺序栈的讲解
堆栈(简称栈)是插入和删除操作都在表的同一端进行的线性表。运行插入和删除元素的一端称为栈顶(top),另一端称为栈底(bottom)。如果堆栈中没有元素,则为空栈。栈是一个后进后出的结构(Last In First Out),简称为LIFO结构。有几点需要注意:1.栈本质上还是线性表,只是这个线性表增加了新的限定规则,只能在一端进行插入和删除。2.栈和线性表一样,也有顺序存储(顺序栈)和链式存储(链式栈)两种结构。3.栈的插入叫进栈,栈的删除叫出栈目录顺序栈初始化出栈入栈判断栈空判断栈满取栈顶.
2021-10-24 00:06:45 9475 2
原创 设有n个元素按顺序进栈,问出栈有多少种情况(详细讲解)
为了更好的帮助理解和解题,我采用2个例子进行详细讲解。在解题之前我们要先学一个公式。n个不同元素进栈,出栈元素不同排列的个数为:1n+1{1} \over {n+1}n+11 C2nnC^n_{2n}C2nn这个公式叫:卡特兰数,具体的推导过程下次有空会写的。我们可以使用这个公式先算出不同排列的个数,然后再进行具体的情况分析。栈是一个后进先出的结构。为了解释方便,对用语进行简化。a进:a进栈。 a出:a出栈。 例题1例题2例题13个元素a,b,c顺序进栈,问出栈有几种情况
2021-10-22 21:51:51 25513 2
原创 数据结构-带头节点的单链表(C语言)超详细讲解
前面我们学到线性表的顺序存储结构(顺序表),发现它有着明显的缺点:插入和删除元素时需要频繁的移动元素,运算效率低。必须按事先估计的最大元素个数申请连续的存储空间。存储空间估计大了,造成浪费空间;估计小了,容易产生溢出,空间难以扩大。采用链式存储结构的线性表(链表)可以克服以上的不足。单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(存放的数据元素)+指针(指示下一个元素存储位置,单、双链表的最后一个节点除外,它们.
2021-10-17 22:28:42 24497 5
原创 顺序表的基本操作(超详细)
1.顺序表的定义使用结构体来构造一个顺序表。typedef struct{ int length;//当前顺序表长度 int Maxsize;//顺序表最大长度 int* data;//定义顺序表中元素类型的数组指针}SqList;2.顺序表的初始化顺序表的初始化是使用动态分配数组空间方式构造一个空的线性表。#include<stdio.h>#include<stdlib.h>#define InitSize 10void InitList(SqList
2021-10-16 10:06:06 118658 66
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人