#include
#include
/** * 棧 複習**
* adt stack is
* operations:
* 1. stack createemptystack(void) 建立空棧
* 2. int isemptystack(void) 判斷是否為空棧
* 3. void push(stack st,datatype x) 向棧st的棧頂新增元素x
* 4. void pop(stack st) st的棧頂元素出棧
* 5. datatype top(stack st) 求st棧頂的元素
* end adt stack
*//**
* 順序棧 定義與操作
* 預設棧中元素為int型
*/struct seqstack
;typedef
struct seqstack* pseqstack;
//指向順序棧的指標型別
/** * 1.順序棧建立方法
* @param size
* @return
*/pseqstack createempteystack_seq
(int size)
else
}printf
("順序棧建立失敗\n");
return
null;}
/** * 2.判斷順序棧是否為空
* @param pastack
* @return
*/int
isemptystack_seq
(pseqstack pastack)
return0;
}/**
* 3.順序棧插入元素操作 進棧
* @param pastack
* @param x
*/void
push_seq
(pseqstack pastack,
int x)
else
}/**
* 4.順序棧 刪除棧頂元素 出棧
* @param pastack
*/void
pop_seq
(pseqstack pastack)
else
}/**
* 5.順序棧 取得棧頂元素
* @param pastack
* @return
*/int
gettop_seq
(pseqstack pastack)
else
}int
main()
printf
("列印初始棧:\n");
for(
int i=
0;i<=pastack->top_position;i++
)printf
("棧是否為空:\n");
if(!isemptystack_seq
(pastack)
)else
printf
("999入棧:\n");
push_seq
(pastack,
999)
;for
(int i=
0;i<=pastack->top_position;i++
)printf
("棧頂元素出棧:\n");
pop_seq
(pastack)
;for
(int i=
0;i<=pastack->top_position;i++
)printf
("取得棧頂元素:%d\n"
,gettop_seq
(pastack));
return0;
}
#include
#include
struct seqstack
;typedef
struct seqstack* pseqstack;
pseqstack createemptystack_seq
(int size)
printf
("element* create failed");
}printf
("stack create failed");
}int
isempty_seq
(pseqstack pastack)
return0;
}void
push_seq
(pseqstack pastack,
int x)
pastack->top_position++
; pastack->element[pastack->top_position]
= x;
return;}
void
pop_seq
(pseqstack pastack)
}int
gettop_seq
(pseqstack pastack)
}int
muilt
(int number)
while(!
isempty_seq
(pastack)
)return muiltnumber;
}int
main()
資料結構與演算法 佇列 定義與操作
佇列複習 adt queue is operations queue createemptyqueue void 建立乙個空佇列 int isemptyqueue queue qu 判斷佇列qu是否為空 void enqueue queue qu,datatype x x進入隊尾 void dequ...
資料結構與演算法《棧》
概念 棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使...
棧(資料結構與演算法)
給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 左括號必須用相同型別的右括號閉合。左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true示例 2 輸入 輸出 true示例 3 輸入 輸出 false示例 4 輸入 輸出 false示例 5 輸入 輸出 tr...