当前位置:首页 > C++知识 > 正文内容

【数据结构】栈的基本操作

亿万年的星光5年前 (2021-02-19)C++知识2613

0.前言

上一篇中简单介绍了栈的定义,这一篇中介绍栈的基本用法,包含压栈,出栈,判断栈空,判断栈中元素个数等。下面进行详细介绍


1.基本用法

本文介绍的栈的主要操作,使用栈之前加入<stack>头文件。基本用法如下:

s.push(item);       //将item压入栈顶  
s.pop();            //删除栈顶的元素,但不会返回  
s.top();            //返回栈顶的元素,但不会删除  
s.size();           //返回栈中元素的个数  
s.empty();          //检查栈是否为空,如果为空返回true,否则返回false


2.定义栈

格式:stack<数据类型>栈名

例如:

#include<iostream>
#include<stack>
using namespace std;
int main(){
	stack<int> s; //定义一个栈,名字是s 
	return 0;
}


3.入栈

#include<iostream>
#include<stack>
using namespace std;
int main(){
	stack<int> s; //定义一个栈,名字是s 
	//方式1:读取50个数入栈 
	for(int i=0;i<50;i++){
        s.push(i);
    }
    
    //方式2:只要是数字就入栈,不限定长度 
	while(cin>>num)  
    {  
        s.push(num);  
    }  
    
	return 0;
}

4.测量栈的大小

跟以前学过的string的用法类似,可以用size来测量

#include<iostream>
#include<stack>
using namespace std;
int main(){
	stack<int> s; //定义一个栈,名字是s 
	int num;
    //方式2:只要是数字就入栈,不限定长度 
	while(cin>>num)  
    {  
        s.push(num);  
    }  
    cout<<"栈的长度是:"<<s.size()<<endl; 
	return 0;
}


5.出栈、判断为空、栈定元素


#include<iostream>
#include<stack>
using namespace std;
int main(){
	stack<int> s; //定义一个栈,名字是s 
	int num;
    //方式2:只要是数字就入栈,不限定长度 
	while(cin>>num)  
    {  
        s.push(num);  
    }  
    cout<<"栈的长度是:"<<s.size()<<endl; 
     while(!s.empty())   //判断栈是否为空 
    {  
        cout<<s.top()<<" ";  //输出栈定元素 
        s.pop();   //出栈一个元素 
    }  
    cout<<"\n 当前栈的长度是:"<<s.size()<<endl; 
	return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

C++中的溢出

一、编程中的溢出   溢出是C++语言中最常见的漏洞。最常见的溢出包括数组溢出、数溢出、缓冲区溢出、指针溢出以及栈溢出。二、数组溢出    ...

如何估算时间复杂度

首先:  常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n^2)<Ο(n^3)<…<Ο(2^n)<Ο(n!)时间复杂度可以简单理解为最多执...

最小生成树(1)

最小生成树(1)

一、定义一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出...

C++中的max和min函数(最大值,最小值)

1.头文件      最大值最小值函数所在头文件是#include<algorithm>2.用法#include<iostream> #incl...

C++将数据写入磁盘文件

0.前言要求:在任意路径下新建一个文本文档,向该文档中写入数据。以'#'结束字符串的输入。关键技术:ch=fputc(ch,fp);该函数的作用是把一个字符写到磁盘文件(fp所指的磁盘...

STL入门——简单介绍

一、STL是什么?    STL(Standard Template Library)即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ S...