資料結構 棧的實現

2021-08-20 12:52:11 字數 1245 閱讀 3955

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...