stack是一種先進后出的數據結構,它只有一個出口
queue容器、棧中只有頂端的元素才可以被外界使用,因此棧不允許有遍歷行為
棧可以判斷是否為空 empty()
棧可以返回元素個數 size()
入棧 push()
出棧 pop()
構造函數:
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中只有隊頭和隊尾可以被外界使用,因此隊列不允許有遍歷行為
入隊 push
出隊 pop
隊頭 front
隊尾 back
判斷隊列是否為空 empty()
判斷隊列大小 size()
構造函數:
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;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态