菜鸟笔记
提升您的技术认知

栈-ag真人官方网

阅读 : 278

栈概念

栈(stack)是一种特殊的线性数据结构,只能够在一端(即栈顶)进行,采用后进先出原则(lifo, last in first out),基本操作有加入数据(push)和输出数据(pop)两种运算。

栈的表示和实现

1.顺序栈

定义:一组地址连续的存储单元依次存放自栈底到栈顶的数据元素

top : 用来表示栈顶元素的位置

- top==-1表示空栈
- top==null表示栈不存在
- top>stacksize元素溢出

结构体定义:

#define n 500//定义顺序栈大小
struct stack
{
    int top;//栈顶指针
    int a[n];//顺序栈数组
} seqstack;

2.链栈

结构体定义:

typedef struct node
{
    int data;//定义数据类型
    struct node*next;//定义链栈
} chaiinstack;
网站地图