C語言實現棧(順序棧)


1、結構體

1 typedef struct my_stack {
2     int len;//既可以表示棧頂編號也可以表示元素個數
3     typename a[10001];//用數組表示棧內元素
4 }Stack;

2、初始化

1 Stack* create_emptystack() {
2     Stack *s;
3     s = (Stack*)malloc(sizeof(Stack));
4     if(s == NULL)
5         printf("malloc error\n");
6     else
7         s->len = -1;
8     return s;
9 }

3、判斷棧是否為空

1 int isempty(Stack *s) {
2     return s->len == -1;
3 }

4、入棧

1 void push_stack(Stack *s, typename value) {
2     if(s->len > 10001)
3         printf("exceed!\n");
4     else {
5         s->len++;
6         s->a[s->len] = value;
7     }
8 }

5、出棧

1 void pop_stack(Stack *s) {
2     if(!isempty(s))
3         s->len--;
4 }

6、獲取棧頂元素

1 tpyename get_top(Stack *s)  {  
2     if(!isempty)                
3         return s->a[s->len]; 
4 }    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM