zoukankan      html  css  js  c++  java
  • 栈和队列

    栈:栈(stack)又名堆栈,它是一种运算受限的线性表。其限
    制是仅允许在表的一端进行插入和删除运算。这一端被称为
    栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又
    称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上
    面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈
    或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的
    栈顶元素。

    队列:队列(queue)的的性质刚好与栈相反,功能类似,但队列是
    先进先出。

    可理解为“栈:先进后出,队列:先进先出”。

    代码如下:

    #include <iostream>
    #include <stack>//栈所需头文件 
    #include <queue>//队列所需头文件 
    using namespace std;
    int main()
    {
    	stack<int>sta;//栈的定义 
    	queue<int>que;//队列的定义 
    	for(int i=1;i<=5;i++)//存入数据 
    	{
    		int n;
    		cin>>n;
    		sta.push(n);//入栈
    		que.push(n);//入队列
    	}
    	while(!sta.empty())//检查是否为空 
    	{
    		cout<<sta.top()<<endl;//查询栈顶元素 
    		sta.pop();//元素出栈 
    	}
    	while(!que.empty())
    	{
    		cout<<que.front()<<endl;//查询队列顶端元素 
    		que.pop();//元素出队列 
    	}
    	/*清空栈 or 队列*/ 
    	while(!que.empty()) que.pop();
    	while(!sta.empty()) sta.pop();
    	return 0;
    }
  • 相关阅读:
    函数式编程:用户登录和注册
    文件操作
    shell介绍
    函数返回值
    selenium 事件介绍
    Linux添加硬盘设备
    分布式系统中幂等性、at least once 和 at most once 问题
    HBase面试考点
    简单理解:数据库的一致性与四种隔离级别(+MySQL实现)
    大数据框架Hive优化方法
  • 原文地址:https://www.cnblogs.com/cnlik/p/11851886.html
Copyright © 2011-2022 走看看