栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习笔记--STL标准模板库的认识与使用--序列式容器--stack(栈)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习笔记--STL标准模板库的认识与使用--序列式容器--stack(栈)

1、std::stack使用方式: 

#include 
// stack 构造 :
1. stack s;
2. stack s;

2、相关操作:

std::stack 支持赋值运算符 =

元素访问:

s.top() 返回栈顶

容量:

s.empty() 返回是否为空

s.size() 返回元素数量

修改:

s.push() 插入传入的参数到栈顶

s.pop() 弹出栈顶

其他运算符:

==、!=、<、<=、>、>= 可以按照字典序比较两个 stack 的值

3、代码示例:

#include

#include

using namespace std;

int main()
{
	stack s;//创建一个整型栈

	for (int i = 1; i <= 10; i++)
	{
		s.push(i);//将1~10的数字放入栈中

	}

	cout <<"The stack number of elements is :"<< s.size() << endl;
	
	for (int j = 1; j <= 10; j++)
	{
		cout << s.top() << ' ';

		s.pop(); //将1~10的数字从栈中弹出

	}
	cout << endl <<"The stack number of elements is :"<< s.size() << endl;
	return 0;
}

 4、运行结果:

5、示例2:

题目1(自创仅练习使用):应用STL中的stack模板编写函数实现十进制数转换成其他进制数:

输入样例1: 

 
输入一个十进制数:2
 
输入要转换的进制:8
 
这是它的8进制转换:2


输入样例2:

输入一个十进制数:15
 
输入要转换的进制:7
 
这是它的7进制转换:21

实现程序代码: 

#include
#include
using namespace std;
 
void HexadecimalConversion(int Original,int Final)//十进制转换任意进制函数
{
    stack stack;
    int quotient;//商数
    int remainder;//余数
    bool isContinue = true;
    while (isContinue)
    {
        if (Original >= Final)
        {
            quotient = Original / Final;
            remainder = Original % Final;
            stack.push(remainder);
            Original = quotient;
            if (quotient < Final)
            {
                stack.push(quotient);
                isContinue = false;
            }
        }
        else
        {
            cout << Original;
            isContinue = false;
        }
    }
    while (!stack.empty()) {
        cout<> Original;
    cout << "输入要转换的进制:"; 
    cin >> Final;
    cout << "这是它的" << Final << "进制转换:";
    HexadecimalConversion(Original,Final);
    return 0;
}


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号