链栈和链队其实就是头插法、尾插法的应用,这两个用起来其实感觉还没有双链表好用(个人感觉)两头都可以操作插入删除不香吗 ,也就是stl库中queue头文件中包含的deque类型,这个队列两头都可以进行插入删除,用起来时相对更方便,但是打代码就麻烦一点复制粘贴都懒得做了。
#include <bits/stdc++.h>
using namespace std;
/*
Author XT
Date 2020/9/32 0:30
Title 链栈
*/
//自定义结构
struct Stack {
char data;
Stack* next;
};
//初始化链栈
void InitStack(Stack*& L)
{
L = (Stack*)malloc(sizeof(Stack));
L->next = NULL;
}
//清空链栈
void ClearStack(Stack*& L)
{
Stack *p, *pre;
p = L->next;
while (p) {
pre = p->next;
free(p);
p = pre;
}
L->next = NULL;
}
//输出链栈中所有元素
void AllStack(Stack*