stack.h
#pragma once
#include
#include
#include
#include
//定義棧內資料型別
typedef int datetype;
//定義棧空間大小
#define maxsize 20
//定義棧的結構體
typedef struct stack
stack;
//初始化棧
void initstack(stack *p);
//銷毀棧
void destroy(stack *p);
//壓棧
void pushstack(stack *p, datetype data);
//出棧
void popstack(stack *p);
//檢視棧頂的元素
datetype topstack(stack *p);
//判斷當前棧是否為空
int isempty(stack *p);
//當前棧空間大小
int stacksize(stack *p);
//列印棧
void print(stack *p);
//測試用例
void test();
stack.c
#include"stack.h"
//初始化棧
void initstack(stack *p)
//銷毀棧
void destroy(stack *p)
//壓棧
void pushstack(stack *p,datetype data)
//出棧
void popstack(stack *p)
//檢視棧頂的元素
datetype topstack(stack *p)
//判斷當前棧是否為空
int isempty(stack *p)
//當前棧空間大小
int stacksize(stack *p)
void print(stack *p)
printf("\n");
}void test()
main.c
#include"stack.h"
int main()
資料結構 實現棧
include include include define node len sizeof node 1 pstack ptop pstack pbottom都指向節點 typedef struct node pnode,node typedef struct stack pstack,stack...
資料結構 棧實現
棧和佇列不一樣,棧是後進先出。實現時用了陣列儲存棧,陣列大小根據內容自動擴充。廢話不多說,上 c mystack.h pragma once templateclass mystack templateint mystack getcount templatet mystack top templa...
資料結構 棧的實現
1 定義資料元素類 data package stack public class data override public string tostring 2 定義棧結構類 stacktype package stack public class stacktype 判斷是否空棧 return p...