queue容器,stack和queue容器

 2023-10-20 阅读 27 评论 0

摘要:stack容器 stack是一種先進后出的數據結構,它只有一個出口 queue容器、棧中只有頂端的元素才可以被外界使用,因此棧不允許有遍歷行為 棧可以判斷是否為空 empty() 棧可以返回元素個數 size() 入棧 push() 出棧 pop()

stack容器

stack是一種先進后出的數據結構,它只有一個出口

queue容器、棧中只有頂端的元素才可以被外界使用,因此棧不允許有遍歷行為

棧可以判斷是否為空 empty()

棧可以返回元素個數 size()

入棧 push()

出棧 pop()

在這里插入圖片描述

stack常用接口

構造函數:

  • stack<T> stk; //stack采用模板類實現, stack對象的默認構造形式
  • stack(const stack &stk); //拷貝構造函數

賦值操作:

  • stack& operator=(const stack &stk); //重載等號操作符

數據存取:

  • push(elem); //向棧頂添加元素
  • pop(); //從棧頂移除第一個元素
  • top(); //返回棧頂元素

大小操作:

  • empty(); //判斷堆棧是否為空
  • size(); //返回棧的大小
int main()
{stack<int>s;for(int i=0;i<10;i++){s.push(i);}//只要棧不為空,查看棧頂,并且執行出棧操作while(!s.empty()){//查看棧頂元素cout<<"stack 's top is:"<<s.top()<<endl;s.pop();}cout<<"stack's size:"<<s.size()<<endl;
}

queue容器

queue是一種先進先出的數據結構,它有兩個出口

在這里插入圖片描述

queue允許從一端新增元素,從另一端移除元素

queue中只有隊頭和隊尾可以被外界使用,因此隊列不允許有遍歷行為

入隊 push

出隊 pop

隊頭 front

隊尾 back

判斷隊列是否為空 empty()

判斷隊列大小 size()

queue常用接口

構造函數:

  • queue<T> que; //queue采用模板類實現,queue對象的默認構造形式
  • queue(const queue &que); //拷貝構造函數

賦值操作:

  • queue& operator=(const queue &que); //重載等號操作符

數據存取:

  • push(elem); //往隊尾添加元素
  • pop(); //從隊頭移除第一個元素
  • back(); //返回最后一個元素
  • front(); //返回第一個元素

大小操作:

  • empty(); //判斷堆棧是否為空
  • size(); //返回棧的大小
class person
{
public:
person(string name,int age)
{this->m_name=name;this->m_Age=age;
}
string m_name;
int m_Age;
};int main()
{queue<person>q;person p1("唐僧",30);person p2("孫悟空",1000);person p3("豬八戒",900);person p4("沙參",800);//入隊q.push(p1);q.push(p2);q.push(p3);q.push(p4);//判斷只要隊列不為空,查看隊頭,查看隊尾,出隊while(!q.empty()){//查看隊頭隊尾元素cout<<"queue'front is:"<<q.front().m_name<<":"<<q.front().m_Age<<endl;cout<<"queue'bakc is:"<<q.back().m_name<<":"<<q.back().m_Age<<endl;//出隊q.pop();}cout<<"queue'size is:"<<q.size()<<endl;
}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/151980.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息