栈、队列总结

概念

  • 栈(stack)是一种运算受限的线性表。栈只能从末尾插入或删除数据。我们把这一端称为栈顶,对应地,把另一端称为栈底。
  • 队列(queue)是一种线性表。它允许在表的某一端进行插入操作,在另一端进行删除操作。我们把进行删除操作的一端称作队列的队尾,把进行插入操作的一端称作队列的队首。

实现

注:由于栈和队列的实现方法不同,故分开讲解。

  1. 使用一个数组模拟栈,用top表示栈顶。如果插入数据,则++top,删除则–top。
  2. 使用STL库中自带的stack(栈),以下为stack中常见的命令:
    1 stack.push(x)//向栈中添加元素x
    2 stack.pop()//删除栈顶的元素
    3 stack.size()//栈的大小
    4 stack.top()//返回栈顶的元素
    5 stack.empty()//返回是否为空栈(即栈中是否没有元素),如果是则返回true
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 栈、队列总结