雙棧的基本操作

2021-08-18 02:43:16 字數 537 閱讀 2680

雙棧:兩棧共享向量空間,將兩棧棧底設在向量兩端,初始時,左棧頂指標為-1,右棧頂為n。棧頂指標相鄰時為棧滿,兩棧頂相向增長。

#includeusing namespace std;

typedef struct node

node;

void init(node &s,int n)

void push1(node &s,int a)

}void push2(node &s,int b)

}void pop1(node &s,int c)

if(s.bot[0]==s.top[0])

printf("0\n");

else printf("1\n");

}void pop2(node &s,int d)

if(s.bot[1]==s.top[1])

printf("0\n");

else printf("1\n");

}int main()

return 0;

}

3 1雙棧結構及其基本操作

題目 將編號0和1的兩個棧存放於乙個空間v m 的陣列空間中,棧底分別處於陣列的兩端。當第0號棧的棧頂指標top 0 1時該棧為空 當第1號棧的棧頂指標top 1 m時,該棧為空。兩個棧均從兩端向中間增長 如下圖 試編寫雙棧初始化,判斷棧空,棧滿,進棧,出棧等演算法的函式。雙棧結構的定義如下 1.雙...

雙鏈表的基本操作

雙鏈表在最末端的插入和刪除要特別對待。include using namespace std typedef int elemtype 定義雙鏈表節點型別 typedef struct node dnode,dlinklist dlinklist dlinklistcreate p next nul...

雙鏈表的基本操作

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶。雙鏈表的基本操作有以下 dlistnode buydlistnode datatype x 申請記...