#include <stdio.h>
#include<stdlib.h>
#define MaxSize 10
//链栈 本质上单链表 链头的一段是栈顶的一段
typedef struct Linknode {
int data;
struct Linknode* next;
}*LiStack;
//创建
bool InitStack(LiStack& L) {
L = (Linknode*)malloc(sizeof(Linknode));
if (L == NULL)
return false;
L->next = NULL;
return true;
}
//增加
bool Push(LiStack& L, int x) {
Linknode* s;
s = (Linknode*)malloc(sizeof(Linknode));
s->data = x;
s->next = L->next;
L->next = s;
return true;
}
//删除
bool Delete(LiStack& L, int &x) {
Linknode* q = (Linknode*)malloc(sizeof(Linknode));
q = L->next;
q->data = L->next->data;
L->next = q->next;
x = q->data;
free(q);
return true;
}
//查找
bool GetTop(LiStack& L, int& x) {
x = L->next->data;
return true;
}
LiStack
最新推荐文章于 2024-07-09 22:37:42 发布