#include "pch.h"
#include <iostream>
using namespace std;
struct linkstack
{
int data;
linkstack *next;
};
void init(linkstack *&s)//初始化
{
s = new linkstack;
s = NULL;
}
void push(linkstack *&s,int data)//入栈
{
linkstack *p = new linkstack;
p->data = data;
p->next = s;
s = p;
}
void pop(linkstack *&s)//出栈
{
if (s == NULL) return;
linkstack *p = new linkstack;
p = s;
s = s->next;
free(p);
}
int gettop(linkstack *&s)//获取栈顶元素
{
if(s!=NULL)
return s->data;
}
void destroy(linkstack *&s)//摧毁栈
{
while (s!=NULL)
{
pop(s);
}
free(s);
}
bool empty(linkstack *&s)//判断是否为空
{
if (s == NULL) return true;
return false;
}
int length(linkstack*&s)//获取长度
{
int i = 0;
while (s!=NULL)
{
i++;
s = s->next;
}
return i;
}
void clear(linkstack *&s)//清空栈
{
while (s != NULL)
{
pop(s);
}
}
链栈的功能实现
最新推荐文章于 2023-08-09 19:57:04 发布