zoukankan      html  css  js  c++  java
  • C++标准库类模板(stack)和 队列(queue)

    在C++标准库(STL)中有栈和队列的类模板,因此可以直接使用

    1、栈(stack):使用栈之前,要先包含头文件 : #include<stack>

    stack.push(elem);   //往栈头添加元素
    stack.pop();   //从栈头移除第一个元素
    stack.top();       //返回栈顶元素
    stack.empty();   //判断堆栈是否为空,栈空返回true,栈非空返回false
    stack.size();        //返回堆栈的大小

    例: 

    #include <iostream> 
    #include <stack>
    using namespace std;
    int main(){
    	
    	stack<int> stack;
    	int num;
    	
    	cout<<"入栈:"; 
    	
    	for(int i = 1;i<10;i++){
    		cout<<i<<" ";
    		stack.push(i);
    	}
    	
    	stack.empty()?cout<<endl<<"当前栈空":cout<<endl<<"当前栈非空"; 
    	cout<<endl<<"栈内元素数:"<<stack.size()<<endl;
    	cout<<"出栈:";
    	
    	while(!stack.empty())
    	{
    		cout<<stack.top()<<" ";
    		stack.pop();
    	}
    	
    	stack.empty()?cout<<endl<<"当前栈空":cout<<endl<<"当前栈非空"; 
    	
    	return 0; 
    }

    2、队列(queue):使用队列,要先包含头文件 : #include<queue>

    queue.push(elem)           //把元素压入队列尾部
    
    queue.pop()                //删除队首元素,但不返回
    
    queue.front()              //返回队首元素,但不删除
    
    queue.back()               //返回队尾元素,但不删除
    
    queue.size()               //返回队列中元素的个数
    
    queue.empty()              //检查队列是否为空,如果为空返回true,否则返回false

    例:

    #include <iostream> 
    #include <queue>
    using namespace std;
    int main(){
    	
    	queue<int> queue;
    	int num;
    	
    	cout<<"入队:"; 
    	
    	for(int i = 1;i<10;i++){
    		
    		queue.push(i);
    		cout<<queue.back()<<" ";
    	}
    	
    	queue.empty()?cout<<endl<<"当前队列空":cout<<endl<<"当前队列非空"; 
    	cout<<endl<<"队列内元素数:"<<queue.size()<<endl;
    	cout<<"出队:";
    	
    	while(!queue.empty())
    	{
    		cout<<queue.front()<<" ";
    		queue.pop();
    	}
    	
    	queue.empty()?cout<<endl<<"当前队列空":cout<<endl<<"当前队列非空"; 
    	
    	return 0; 
    }
  • 相关阅读:
    645. 错误的集合
    88. 合并两个有序数组
    125. 验证回文串
    常用的浏览器
    网页的相关概念
    HTML简介
    商城搜索解决方案
    用VirtualBox安装Centos7
    Eureka自我保护机制
    服务发现Discovery(查看运行的服务)
  • 原文地址:https://www.cnblogs.com/mydrizzle/p/10651239.html
Copyright © 2011-2022 走看看