C語言陣列棧實現模板

2021-09-03 02:02:31 字數 1508 閱讀 5149

seqstack.h

#pragma once

#define max_size 1024

typedef struct seqstack

seqstack;

seqstack* init_seqstack(); // 初始化棧

void push_seqstack(seqstack* stack, void* data); // 入棧

void* top_seqstack(seqstack* stack); // 返回棧頂元素

void pop_seqstack(seqstack* stack); // 出棧

int isempty(seqstack* stack); // 判斷是否為空

int size_seqstack(seqstack* stack); // 返回棧中元素的個數

void clear_seqstack(seqstack* stack); // 清空棧

void freespace_seqstack(seqstack* stack); // 銷毀棧

seqstack.cpp 函式實現

#include "seqstack.h"

#include #include seqstack* init_seqstack()

stack->size = 0;

return stack;

}void push_seqstack(seqstack* stack, void* data)

void* top_seqstack(seqstack* stack) // 返回棧頂元素,不彈出

void pop_seqstack(seqstack* stack) // 出棧

int isempty(seqstack* stack) // 判斷是否為空

int size_seqstack(seqstack* stack)

void clear_seqstack(seqstack* stack)

stack->size = 0;

}void freespace_seqstack(seqstack* stack)

陣列棧測試程式

#define  _crt_secure_no_warnings

#include #include #include #include "seqstack.h"

typedef struct person

person;

int main()

// 釋放記憶體

freespace_seqstack(stack);

system("pause");

}

棧的陣列實現(c語言

一 棧的陣列結構體typedef struct stack stack 二 建立乙個空棧stack createstack 三 入棧void push stack st,char data 四 出棧void pop stack st,char data n 五 列印棧元素void display s...

C語言實現棧 基於陣列

棧是一種操作受限的資料結構,只允許從一段操作,而且先進後出 filo first in last out 這裡將棧的操作封裝在c語言的標頭檔案裡 實現棧的 如下 include define maxsize 10 typedef int datatype sequence stack 實現順序棧,使...

C 鏈棧模板類實現

pragma once template class mystack void push back t val t pop stacknode top const int size const return count bool isempty void freenode stacknode nod...