基本数据结构实现—栈
//----------------------------------// // 数据结构实现——栈 // // 用 数组 实现 // //----------------------------------// #include <iostream> using namespace std; #define MAXSIZE 100 typedef struct { int data[MAXSIZE]; int topIdx; } Stack; Stack *InitStack() { Stack *p = NULL; p = (Stack *)malloc(sizeof(Stack)); if (p == NULL) { return NULL; } p->topIdx = 0; return p; } void FreeStack(Stack *s) { if (s != NULL) { free(s); s = NULL; } } bool IsStackEmpty(Stack *s) { if (s->topIdx == 0) { return true; } return false; } bool IsStackFull(Stack *s) { if (s->topIdx == MAXSIZE) { return true; } return false; } bool PushStack(Stack *s, int data) { if (IsStackFull(s)) { return false; } s->data[s->topIdx++] = data; return true; } bool PopStack(Stack *s, int *data) { if (IsStackEmpty(s)) { return false; } *data = s->data[--s->topIdx]; return true; } bool TopStack(Stack *s, int *data) { if (IsStackEmpty(s)) { return false; } *data = s->data[s->topIdx - 1]; return true; } void main() { Stack *s = InitStack(); int data; IsStackEmpty(s); IsStackFull(s); PushStack(s, 1); PopStack(s, &data); TopStack(s, &data); FreeStack(s); }
栈 的 链表 实现 可参考:
https://www.cnblogs.com/bokeyuan-dlam/articles/12192638.html
记录每天生活的点点滴滴,呵呵呵呵呵呵