C++中的stack类、QT中的QStack类
2023-09-27 14:28:33 时间
C++中的stack
实现一种先进后出的数据结构,是一个模板类.
头文件 #include<stack>
用法(以int型为例):
stack <int> s; //定义一个int型栈
s.empty(); //返回栈是否为空
s.size(); //返回当前栈中元素的个数
s.push(); //在栈顶上堆进一个元素
s.pop(); //删除掉栈顶上的元素
s.top(); //返回栈顶的元素,并不会删除
代码示例:
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> s;
cout<<"stack empty? "<<s.empty()<<endl;
for(int i=0;i<5;i++)
{
s.push(i); //入栈
}
cout<<"stack empty? "<<s.empty()<<endl;
cout<<"stack size: "<<s.size()<<endl;
cout<<endl;
for(int i=0;i<5;i++)
{
cout<<"stack top: "<<s.top()<<endl;
s.pop(); //出栈
}
return 0;
}
QT中的QStack
它的父类是QVector,是个模板类
头文件 #include <QStack>
常用用法(以int型为例):
QStack <int> s; //定义一个int型栈
s. isEmpty(); //返回栈是否为空
s.size(); //返回当前栈中元素的个数
s.push(); //在栈顶上堆进一个元素
s.pop(); //删除掉栈顶上的元素,并返回这个元素
s.top(); //返回栈顶的元素,并不会删除
T & operator[] ( int i ); //以数组形式访问队列元素
代码示例:
#include <QtGui> #include <QStack> #include <QDebug> int main(int argc,char * argv[]) { QStack <int> s; //定义一个int型栈 qDebug()<<"Stack empty: "<<s.isEmpty(); //返回栈是否为空 for(int i=0;i<5;i++) { s.push(i); //入栈 } qDebug()<<"Stack empty: "<<s.isEmpty(); qDebug()<<"Stack size: "<<s.size(); for(int i=0;i<5;i++) { qDebug()<<"Stack top: "<<s.pop(); //出栈,并查看当前栈顶第一个元素 } qDebug()<<"Stack empty: "<<s.isEmpty(); qDebug()<<"Stack size: "<<s.size(); return 0; }
运行:
Stack empty: true
Stack empty: false
Stack size: 5
Stack top: 4
Stack top: 3
Stack top: 2
Stack top: 1
Stack top: 0
Stack empty: true
Stack size: 0
相关文章
- Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)
- QT实现右键快捷菜单
- Qt创建右键菜单的方法
- qt中new与delete使用示例
- 基于QT(C++)+Oracle实现的(界面)教务管理系统【100010664】
- 基于 QT(C++) 开发的斗地主游戏【100010583】
- 基于QT(C++)实现(图形界面)选课管理系统【100010320】
- 基于QT(C++)实现(图形界面)应用密码学大作业【100010263】
- Qt编写地图综合应用30-世界地图
- Qt编写安防视频监控系统24-自定义悬浮条
- Qt编写自定义控件25-自定义QCustomPlot
- 设计Qt风格的C++API
- Qt 4.5发布(最大的变动是换用LGPL许可证,移植进了苹果的Cocoa框架。之前的Qt只支持Carbon框架,现在的Qt 4.5两者都支持。单一源代码创建出支持32位或64位字节的Intel或PowerPC Mac二进制文件)
- Qt之保存/恢复窗口的几何形状
- Qt之QSizePolicy
- 【正点原子Linux连载】第一章在Ubuntu下编写C++--摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
- 使用Qt.labs.settings来存储应用的设置