//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"); }
