網(wǎng)站底部圖片突發(fā)大事震驚全國
目錄😋
任務(wù)描述
相關(guān)知識
測試說明
我的通關(guān)代碼:
測試結(jié)果:
任務(wù)描述
本關(guān)任務(wù):編寫一個程序?qū)崿F(xiàn)順序棧的基本運算。
相關(guān)知識
為了完成本關(guān)任務(wù),你需要掌握:
初始化棧、銷毀棧、判斷棧是否為空、進(jìn)棧、出棧、取棧頂元素等。
測試說明
平臺會對你編寫的代碼進(jìn)行測試:
輸入進(jìn)隊列字符串(以字符串形式輸入)
輸入:
abcde
輸出:
(1)初始化棧s
(2)棧為空
(3)依次進(jìn)棧元素:a b c d e
(4)棧為非空
(5)出棧序列:e d c b a
(6)棧為空
(7)釋放棧
輸入:
xyz
輸出:
(1)初始化棧s
(2)棧為空
(3)依次進(jìn)棧元素:x y z
(4)棧為非空
(5)出棧序列:z y x
(6)棧為空
(7)釋放棧
開始你的任務(wù)吧,祝你成功!
我的通關(guān)代碼:
// 請在Begin-End之間添加你的代碼,
//實現(xiàn)順序棧的如下基本運算,假設(shè)順序棧的元素類型為char//
//(1)初始化棧s//
//(2)判斷棧s是否非空,輸出判斷結(jié)果//
//(3)依次進(jìn)棧元素,注:進(jìn)棧元素由用戶輸入//
//(4)判斷棧s是否非空,輸出判斷結(jié)果//
//(5)輸出出棧序列//
//(6)判斷棧s是否非空,輸出判斷結(jié)果//
//(7)釋放棧//
/********** Begin *********/
#include <cstring>
#include<iostream>using namespace std;
const int MAX_SIZE = 100;class Stack{private:char arr[MAX_SIZE];int top;public:
Stack(){top = -1;
}bool isEmpty(){return top == -1;
}void push(char value){if (top < MAX_SIZE - 1){arr[++top] = value;}
}char pop(){if (!isEmpty()){return arr[top--];}return '\0';}void printStack(){cout <<"(3)依次進(jìn)棧元素:";for(int i = 0;i <=top;i++){cout<< arr[i] <<" ";}cout <<endl;}
void release(){top = -1;cout <<"(7)釋放棧"<<endl;}};int main(){Stack s;string input;getline(cin,input);cout << "(1)初始化棧s"<<endl;for(char c : input){s.push(c);}cout << "(2)棧為空"<<endl;s.printStack();if(!s.isEmpty()){cout << "(4)棧為非空"<<endl;}cout <<"(5)出棧序列:";while (!s.isEmpty()){cout <<s.pop()<<" ";}cout << endl;cout << "(6)棧為空" <<endl;s.release();return 0;}
/********** End **********/