嚴版資料結構題集3 15

2021-06-17 19:11:20 字數 730 閱讀 1236

假設以順序儲存結構實現乙個雙向棧,即在一維陣列的儲存空間中存在著兩個棧,它們的棧底分別設在陣列的兩個端點。試編寫實現這個雙向棧tws的三個操作:初始化inistack(tws)、入棧push(tws,i,x)和出棧pop(tws,i)的演算法,其中i為0或1,用以分別指示設在陣列兩端的兩個棧.

#include#include#define ok 1

#define overflow -1

#define error 1

typedef int status;

typedef struct

bdstack;

status initstack(bdstack &s,int m)

status push(bdstack &s,int i,int x)

status pop(bdstack &s,int i,int x)

else if(i==1)

else return error;

return ok;

}void printfstack(bdstack &s)

while(s.top[1]<=s.base[1])

}int main()

for(i=0; i<(m-2)/2 ; i++)

s.top[0]--;

s.top[1]++;

printfstack(s);

return 0;

}

嚴版資料結構題集3 15

假設以順序儲存結構實現乙個雙向棧,即在一維陣列的儲存空間中存在著兩個棧,它們的棧底分別設在陣列的兩個端點。試編寫實現這個雙向棧tws的三個操作 初始化inistack tws 入棧push tws,i,x 和出棧pop tws,i 的演算法,其中i為0或1,用以分別指示設在陣列兩端的兩個棧.incl...

《資料結構題集》嚴蔚敏 2 11

有效 int insertlistorder list l,int e int insertlistorder list l,int e for i l length i 1 i 雖然是用指標來代替靜態陣列,但還是可以用陣列這個形式滴 l elem i e l length return ok 全部...

《資料結構題集》嚴蔚敏 2 10

有效 int delete list l,int i,int k int delete list l,int i,int k l length k 這一句千萬不能忘記哦 return ok 全部 include include define error 1 define ok 1 define li...