@[TOC]
前言:
介绍顺序表中的栈和队列,
栈
栈的定义
栈:一种特殊的线性表,其只允许
在固定的一端(栈顶)进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶
,另一端称为栈底
。栈中的数据元素遵守后进先出
-––LIFO(Last In First Out)的原 则。
栈的原则
- 栈的入数据和出数据都在
栈顶
!!!!!- 要想获得栈中里面的数据,需要pop完该数据的前面所有数据,这是栈的性质决定的,
栈中2个关键字:
- 入栈(进栈)–push,
- 出栈—pop
栈的功能复写
栈可以通过数组,也可以通过链表实现,但是因为先进后出
,的特点,数组更有利于栈功能的实现,链表pop时,需要一个一个访问到NULL结点前的结点,效率很低。栈功能复写,博客
队列
队列的定义
队列:只允许
在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出
FIFO(First In First Out)入队列(push):进行插入操作的一端称为队尾
出队列(pop):进行删除操作的一端称为队头
由队列的“先入先出”可以发现,
链表队列
很适合,数组栈在pop时,效率低。
队列原则
数据只能从队尾入,队头出,这于栈的栈顶入,栈顶出是不一样的。
队列的功能复写
对于队列的“先进先出”的特点,在构建结构体是,需要指向头结点的指针,和队尾指针