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; 
    }
  • 相关阅读:
    R、Python、Scala和Java,到底该使用哪一种大数据编程语言?
    localStorage、sessionStorage用法总结
    Jquery创建动态表单
    DOM对象和js对象以及jQuery对象的区别
    Spring事务管理——回滚(rollback-for)控制
    java 中利用反射机制获取和设置实体类的属性值
    SpringMVC注解@Component、@Repository、@Service、@Controller区别
    @DateTimeFormat 和 @JsonFormat 注解
    html 获取项目根路径
    jquery控制元素的隐藏和显示的几种方法。
  • 原文地址:https://www.cnblogs.com/mydrizzle/p/10651239.html
Copyright © 2011-2022 走看看