zoukankan      html  css  js  c++  java
  • 栈和队列

    栈(stack)的定义:                                                                             

    称为堆栈,运算受限的线性表

    其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作

    进行插入、删除一端为栈顶(top),保存元素为栈顶元素

    另一端为栈底(bottom)

     

    无元素为空栈、插入元素为进栈或入栈、删除元素为出栈或退栈

    由于栈的插入和删除仅在栈顶进行,后进栈的元素必定先出栈,堆栈称为 后进先出表(LIFO)

    操作:push(入)、pop(出)、peek(获取)

    队列(queue)定义:                                                                                                    

    也是受限的线性表,一端插入、一端删除

    插入一端为队尾(rear)、删除一端为队首(front)

    队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。

    因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出表(fifo)

    Java中实现栈和队列操作都可以通过使用LinkedList类实现,底层为链表

  • 相关阅读:
    retain,copy,mutableCopy的区别
    xcode 添加mainWindow.xib
    ios 协议代理
    mysql基础
    mysql常用语句(转)
    mysql的13个使用技巧(转)
    mysql性能优化教程(转)
    mysql学习资源(转)
    find命令详解(转)
    vim基础操作(转)----附vim壁纸
  • 原文地址:https://www.cnblogs.com/lhl0131/p/12404962.html
Copyright © 2011-2022 走看看