C++ STL標准模板庫(stack)


//stack的使用
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stack>
using namespace std;

/*
引用頭文件   #include<stack>

stack類本身是一個類模板

stack(堆棧) 是一個容器類的改編,為程序員提供了堆棧的全部功能,—
—也就是說實現了一個先進后出(FILO)的數據結構。
1.empty() 堆棧為空則返回真
2.pop() 移除棧頂元素
3.push() 在棧頂增加元素
4.size() 返回棧中元素數目
5.top() 返回棧頂元素

*/

class Student{
public:
    int age;
    char name[30];
};

void ProtectA(){
    //跟vector不同,不需要初始化初始元素個數
    stack<Student *> ss1;
    Student s1, s2, s3;
    s1.age = 12;
    strcpy(s1.name, "小米");
    s2.age = 14;
    strcpy(s2.name, "小紅");
    s3.age = 16;
    strcpy(s3.name, "小剛");
    //添加元素
    ss1.push(&s1);
    ss1.push(&s2);
    ss1.push(&s3);
    //彈出棧頂元素
    while (!ss1.empty()){
        //獲取棧頂元素
        Student * temp = ss1.top();
        cout << "學生姓名:" << temp->name << ";學生年齡是:" << temp->age << endl;
        //彈出棧頂元素
        ss1.pop();
    }
}

void main(){
    ProtectA();
    system("pause");
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM