日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

BJFU_数据结构习题_241双栈的基本操作

發布時間:2023/12/14 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BJFU_数据结构习题_241双栈的基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎登錄北京林業大學OJ系統
http://www.bjfuacm.com

241雙棧的基本操作

描述
將編號為0和1的兩個棧存放于一個數組空間V[m]中,棧底分別處于數組的兩端。當第0號棧的棧頂指針top[0]等于-1時該棧為空;當第1號棧的棧頂指針top[1]等于m時,該棧為空。兩個棧均從兩端向中間增長(見下圖)。試編寫雙棧初始化,判斷棧空、棧滿、進棧和出棧算法的函數。函數調用次序依次為:進棧、棧滿的判斷、出棧、棧空的判斷。
雙棧數據結構的定義如下:
typedef struct
{
int top[2], bot[2];//棧頂和棧底指針
SElemType *V; //棧數組
int m;//棧最大可容納元素個數
}DblStack;

輸入
多組數據,每組數據有四行,每行的數據之間均用空格分隔。第一行為一個整數m,表示數組V的大小,第二行為四個整數e0、e1、d0、d1,e0和e1分別代表壓入0號棧和1號棧的整數序列E0和E1的長度(依次連續入棧,中間沒有出棧的情況),d0和d1分別代表從0號棧和1號棧彈出的序列的長度(依次連續出棧,中間沒有入棧的情況)。第三行和第四行分別表示序列E0和E1。當m=0時,輸入結束。

輸出
對于每組數據輸出三行。第一行代表進棧操作完成時棧是否為滿(出棧操作尚未執行),棧滿輸出1,棧不滿輸出0。第二行和第三行的數據分別對應0號棧和1號棧。第二行包括d0+1個整數,其中前d0個整數代表出棧序列D0,最后一個整數代表出棧操作完成時0號棧是否為空,棧空輸出0,不空輸出1。第三行包括d1+1個整數,其中前d1個整數代表出棧序列D1,最后一個整數代表出棧操作完成時1號棧是否為空,棧空輸出0,不空輸出1。整數之間用空格分隔。

輸入樣例 1
7
3 4 2 2
1 2 3
2 3 4 5
12
4 6 4 3
1 3 4 5
1 3 5 6 8 1
0
輸出樣例 1
1
3 2 1
5 4 1
0
5 4 3 1 0
1 8 6 1

#include<iostream> using namespace std; #define Max 100 typedef struct LNode {int *top[2];int *base[2];int maxsize; }DblStack; void Init(DblStack &S,int n) {S.base[0]=new int[Max];S.base[1]=S.base[0]+n-1;S.top[0]=S.base[0];S.top[1]=S.base[1];S.maxsize=n; } int IsEmpty(int *top,int *base) {return top==base?1:0; } int IsFull(int *top1,int *top2) {return top1>top2?1:0; } void Push0(DblStack &S) {int x;cin>>x;*S.top[0]=x;S.top[0]++; } void Push1(DblStack &S) {int x;cin>>x;*S.top[1]=x;S.top[1]--; } void Pop0(DblStack &S) {S.top[0]--;cout<<*S.top[0]<<" "; } void Pop1(DblStack &S) {S.top[1]++;cout<<*S.top[1]<<" "; } int main() {DblStack S;int n,e0,e1,d0,d1;while(cin>>n&&n!=0){Init(S,n);cin>>e0>>e1>>d0>>d1;while(e0--)Push0(S);while(e1--)Push1(S);cout<<IsFull(S.top[0],S.top[1])<<endl;while(d0--)Pop0(S);cout<<!IsEmpty(S.top[0],S.base[0])<<endl;while(d1--)Pop1(S);cout<<!IsEmpty(S.top[1],S.base[1])<<endl;}return 0; }

總結

以上是生活随笔為你收集整理的BJFU_数据结构习题_241双栈的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。