一、栈 1、栈的定义: 对于由n个数据元素构成的一个线性序列,如果只允许在其指定的一端插入或删除一个数据元素,那么这种逻辑结构称为栈(Stack)或堆栈。 栈是一种”先进后出”或“后进先出”的数据结构。
2、栈的操作(stack): 头文件: #include <stack> 基本操作: push(x) ? ??? ?//将x加入栈中 pop() ? ?? ?//出栈操作,只是出栈,没有返回值 top() ? ?? ?//返回第一个元素 size() ??? ?//返回栈中的元素个数 empty() ? ? //当栈为空时,返回 true
二、队列: 1、 队列的定义: 对于由N个数据元素构成的一个线性序列,如果在其固定的一端只允许插入数据元素,且在另一端只允许删除数据元素,这种逻辑结构称为队列(Queue) 队列是一种“先进先出”的数据结构。
2、队列的操作: 头文件: #include <queue> 基本操作: push(x) ? ? //将x压入队列的末端 pop() ? ? ? //弹出队列的第一个元素,注意此函数并不返回任何值 front() ? ? //返回第一个元素 back() ? ? ?//返回最后被压入的元素 empty() ? ? //当队列为空时,返回true size() ? ? ?//返回队列的长度 ? ?//当栈为空时,返回 true
|