//標頭檔案
#include /*********************
棧 資料結構
利用陣列實現
*********************/
#define max 100
#define ok 1
#define error 0
typedef struct stack
stack,*stack;
//初始化棧
int initstack(stack stack);
//銷毀
int destroystack(stack stack);
//清空
int clearstack(stack stack);
//棧空
int stackempty(stack stack);
//獲取棧頂元素
int gettop(stack stack,int* elem);
//壓棧
int push(stack stack,int* elem);
//出棧
int pop(stack stack,int* elem);
//返回棧中元素長度
int stacklength(stack stack,int* len);
//列印棧中元素
int printstack(stack stack);
//棧滿
int stackfull(stack stack);
//main函式中實現
#include "stack.h"
int main()
int lenflag=stacklength(&stack,&num1);
if(lenflag)
printf("len=%d ",num1);
else
printf("stacklength error");
/* int getflag=gettop(&stack,&num1);
if(getflag)
printf("%d ",num1);
*/
printstack(&stack);
return 0;
}//初始化棧
int initstack(stack stack)
//壓棧
int push(stack stack,int* elem)
//列印棧中所有元素
int printstack(stack stack)
printf("\n");
return ok;
}//棧空
int stackempty(stack stack)
//出棧
int pop(stack stack,int* elem)
//棧滿
int stackfull(stack stack)
//銷毀
int destroystack(stack stack)
}//清空
int clearstack(stack stack)
}//獲取棧頂元素
int gettop(stack stack,int* elem)
//返回棧中元素長度
int stacklength(stack stack,int* len)
else
}
C語言實現棧
下面程式分別實現了棧的順序儲存結構和棧的鏈式儲存結構的壓棧和彈棧操作,均在dev c 下執行通過。棧的順序儲存結構 include include include include include define ok 1 define error 0 define maxsize 10 typedef...
C語言實現棧
一 實現 vim stack c.c include stdio.h include stdlib.h 棧元素結構體 用來描述每個棧元素 struct list 棧結構體 棧頂元素指標,棧大小資訊 struct stack 棧初始化 struct stack stackinit void 入棧函式 ...
C語言實現棧
1.概念 棧是一種線性的資料結構,採用先進後出的方式管理資料,一端的位置固定 棧底 另外一端隨著資料的進出隨時改變 棧頂 2.實現思路 棧是一種邏輯概念,可以使用順序結構來實現 順序棧 也可以使用鏈式結構來實現 鏈式棧 鏈式棧可以使用單鏈表來實現,以頭結點作為棧頂,從頭部插入作為入棧,從頭部刪除作為...