【C++】Stack类与Queue类学习

1.Stack类学习

1)建立stack<string>

2)调用push函数将数据压入栈中

3)调用size函数查看当前栈内元素数量

4)调用empty函数检测栈是否为空

5)如果不为空则不断调用pop函数将元素从栈中取出(后入先出)

#include <iostream>
#include <stack>

using namespace std;

int main()
{
    stack<string> stkNameList;

    stkNameList.push("Tsybius"); 
    cout << "Push: " << stkNameList.top() << endl;
    stkNameList.push("Galatea");
    cout << "Push: " << stkNameList.top() << endl;

    cout << "Stack size: " << stkNameList.size() << endl;

    while(!stkNameList.empty())
    {
        cout << "Pop: " << stkNameList.top()  << endl;
        stkNameList.pop();
    }

    return 0;
}

运行结果

2.Queue类学习

1)建立queue<string>

2)调用push函数将元素加入queue

3)调用size函数查看队列内元素数量

4)调用front和back函数查看队列首位元素

5)调用empty函数查看队列是否为空

6)如果队列不为空则调用pop函数将元素从队列中取出(先入先出)

#include <iostream>
#include <queue>

using namespace std;

int main()
{
    queue<string> queNameList;

    queNameList.push("Tsybius");
    cout << "Push: Tsybius" << endl;
    queNameList.push("Galatea");
    cout << "Push: Galatea" << endl;
    queNameList.push("Gnaeus");
    cout << "Push: Gnaeus" << endl;

    cout << "Queue Size: " << queNameList.size() << endl;
    cout << "Front: " << queNameList.front() << endl;
    cout << "Back: " << queNameList.back() << endl;

    while(!queNameList.empty())
    {
        cout << "Pop: " << queNameList.front() << endl;
        queNameList.pop();
    }

    return 0;
}

运行结果

END

【C++】Stack类与Queue类学习,布布扣,bubuko.com

时间: 2024-10-13 00:09:16

【C++】Stack类与Queue类学习的相关文章

C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、SortedList类)

1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在ArrayList中主要使用Add.Remove.RemoveAt.Insert四个方法对栈进行操作.Add方法用于将对象添加到 ArrayList 的结尾处:Remove方法用于从 ArrayList 中移除特定对象的第一个匹配项:RemoveAt方法用于移除 ArrayList 的指定索引处的元素:Insert方法用于将元素插入 ArrayList 的指定索引处. 示例 ArrayList的使用 示例将介

C++ Primer 学习笔记_66_面向对象编程 --定义基类和派生类[续]

算法旨在用尽可能简单的思路解决问题,理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时不妨从例子入手,通过一个简单的例子,并编程实现,这个过程其实就可以理解清楚算法里的最重要的思想,之后扩展,对算法的引理或者更复杂的情况,对算法进行改进.最后,再考虑时间和空间复杂度的问题. 了解这个算法是源于在Network Alignment问题中,图论算法用得比较多,而对于alignment,特别是pairwise alignment, 又经常遇到maxim

OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类

昨天学习了Foundation框架中NSArray类和NSMutableArray类:http://blog.csdn.net/jiangwei0910410003/article/details/41809719,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和NSArray不一样,Java中的Map也是无序的,通过hash值去检索元素的.

类与对象的学习之路

---恢复内容开始--- 学习java也有一段时间了,这周踏上了类与对象的学习之路,回过头来总结一下类与对象的基本知识.之前在大一上就接触了Python语言跟C语言,现在开始学习java语言了.我觉得跟之前学的C语言还是有区别的,至于在java书中提及的C++没学习,听别人说C++跟java有点像,这两种编程语言都是面向对象的,并且编程语言本身之间都有很多相似相同的地方. 一.说说类与对象 说到面向对象,那么不得不提的就是类和对象了.Java代码是以类为单位的.在我看来,类就是一个模板,比如一个

C++ Primer 学习笔记_65_面向对象编程 --概述、定义基类和派生类

面向对象编程 --概述.定义基类和派生类 引言: 面向对象编程基于的三个基本概念:数据抽象.继承和动态绑定. 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数. 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型之间区别的程序. 面向对象编程:概述 面向对象编程的关键思想是多态性(polymorphism)

Android 服务类Service 的详细学习

上一篇说到了通知栏Notification,提起通知栏,不得让人想到Service以及BroadcastReceive,作为android的4大组建的2个重要成员,我们没少和它们打交道.它们可以在无形中使我们的软件和网络.数据库.系统等进行交互,之后通过UI(Notification就是一种展示方式)把结果展现在我们面前.可以说,他们是android生命体系里面的神经系统,通过反射条件让身体展现不同的状态.在整个系统中,广播接收器充当着是传输者和监听者的角色,它把系统的一点点变化都反馈上去,之后

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数、派生类到基类的转换 、基类到派生类的转换

C++ Primer 学习笔记_31_面向对象编程(2)--继承(二):继承与构造函数.派生类到基类的转换 .基类到派生类的转换 一.不能自动继承的成员函数 构造函数 拷贝构造函数 析构函数 =运算符 二.继承与构造函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数. 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化调用基类构造函数完成(如果没有给出则默认调用默认构造函数). 派生类的构造函数需要给基类的构造函数传递参数 #include <iostream

(转载)OC学习篇之---Foundation框架中的NSDirctionary类以及NSMutableDirctionary类

昨天学习了Foundation框架中NSArray类和NSMutableArray类,今天来看一下Foundation框架中的NSDirctionary类,NSMutableDirctionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和NSArray不一样,Java中的Map也是无序的,通过hash值去检索元素的. 一.NSDirctionary类 1 // 2 // main.m 3 // 19_NSDictionary 4 // 5 //

new、delete、以及queue类

本来以为很容易的,结果还是写了我两个小时. 用指针模拟queue类,再加上类,各种错误,总算是解决掉了-- #include<iostream> #include<cstdlib> #include<string> using namespace std; class Item { private: int time; int cost; public: Item():time(0),cost(0){} Item(int k):time(k) { cost=rand()