zoukankan      html  css  js  c++  java
  • 表、栈、队列

    表类似于数组,在内存中是连续存储的,但是插入和删除的开销非常大,通常是以线性时间执行。

    链表则可以避免表插入和删除的线性开销,他允许表不连续存储。

    栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top)。栈也叫做LIFO(先进后出)表。

    栈的基本操作时入栈push和出栈pop,入栈相当于时插入元素,出战则相当于时删除元素,去除栈顶的元素则使用top操作。

    在我的leetcode笔记中链表的反转很好的利用了链表的先进后出的性质 https://www.cnblogs.com/zhousong918/p/10211487.html 

    队列:像栈一样,队列(queue)也是表。然而,使用队列时插入在一端进行而删除在另一端惊醒。

    队列的基本操作时Enqueue(入队),他是在表的末端(也叫队尾(rear))插入一个元素,还有Dequeue(出队),他时删除(或返回)在表的开头(叫做对头(front))的元素。

    queue 的基本操作有:
    入队,如例:q.push(x); 将x 接到队列的末端。
    出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。
    访问队首元素,如例:q.front(),即最早被压入队列的元素。
    访问队尾元素,如例:q.back(),即最后被压入队列的元素。
    判断队列空,如例:q.empty(),当队列空时,返回true。
    访问队列中的元素个数,如例:q.size()

  • 相关阅读:
    《ML模型超参数调节:网格搜索、随机搜索与贝叶斯优化》
    《黎曼几何与流形学习》
    《信息几何优化,随机优化, 与进化策略》
    生产订单加反作废按钮
    生产订单新增按钮没权限
    生产订单备注字段锁定
    审核后提交物料附件
    MRP设置自动执行
    CRM系统数据授权
    复制物料时不复制安全库存
  • 原文地址:https://www.cnblogs.com/zhousong918/p/10231401.html
Copyright © 2011-2022 走看看