c/c++实现顺序栈和链栈
来源:互联网 发布:云计算新趋势 gartner 编辑:程序博客网 时间:2024/06/05 09:39
实现基于C/C++的数据结构的顺序栈,此程序未经过严格实验,只是提供大概思路
#include<stdio.h>
#include<stdlib.h>#define MAXSIZE 100
typedef int DataType;
typedef struct {
DataType data[MAXSIZE];
int top;
}SeqStack,*PSeqStack;
PSeqStack init_SeqStack()
{
PSeqStack s;
s=(PSeqStack)malloc(sizeof(SeqStack));
if(s)
s->top=-1;
return s;
}
void destroy_SeqStack(PSeqStack S)
{
if(s)
free(s);
s=NULL;
return;
}
int isEmpty_SeqStack(PSeqStack s)
{
if(s->top==-1)
return 1;
else
return 0;
}
int push_SeqStack(PSeqStack s,DataType x)
{
if(s->top==MAXSIZE-1)
{
printf("the stack is full");
return 0;
}
else
{
s->top++;
s->data[s->top]=x;
return 1;
}
}
int pop_SeqStack(PSeqStack s,DataType *x)
{
if(isEmpty_SeqStack(s))
{
printf("the stack is empty");
return 0;
}
else
{
*x=s->data[s->top];
s->top--;
return 1;
}
}
int getTop_SeqStack(PSeqStack s,DataType *x)
{
if(isEmpty_SeqStack(s))
{
printf("the stack is empty");
return 0;
}
else
{
*x=s->data[s->top];
return 1;
}
}
int main()
{
return 0;
}
实现基于C/C++的数据结构的链栈,此程序未经过严格实验,只是提供大概思路
#include<stdlib.h>
typedef int DataType;
typedef struct node{
DataType data;
struct node *next;
}StackNode,*PStackNode;
typedef struct{
PStackNode top;
}LinkStack,*PLinkStack;
PLinkStack init_LinkStack()
{
PLinkStack s;
s=(PLinkStack)malloc(sizeof(LinkStack));
if(s) s->top=NULL;
return s;
}
void destroy_LinkStack(PLinkStack s)
{
PStackNode p,q;
if(s)
{
while(p)
{
p=s->top;
q=p;
p=p->next;
free(q);
}
free(s);
}
s=NULL;
}
int isEmpty_LinkStack(PLinkStack s)
{
return (s->top==NULL);
}
int push_LinkStack(PLinkStack s,DataType x)
{
PStackNode p=(PStackNode)malloc(sizeof(StackNode));
if(!p)
{
printf("memory out");
return 0;
}
p->data=x;
p->next=s->top;
s->top=p;
return 1;
}
int pop_LinkStack(PLinkStack s,DataType *x)
{
PStackNode p;
if(isEmpty_LinkStack(s))
{
printf("the stack is empty");
return0;
}
else
{
*x=s->top->data;
p=s->top;
s->top=s->top->next;
free(p);
return 1;
}
}
int getTop_LinkStack(PLinkStack s,DataType *x)
{
if(isEmpty_LinkStack(s))
{
printf("the stack is empty");
return0;
}
else
{
*x=s->top->data;
return 1;
}
}
int main()
{
return 0;
}
0 0
- c实现顺序栈
- c实现顺序栈
- C实现顺序栈和链式栈
- c/c++实现顺序栈和链栈
- 顺序栈 C语言实现
- 用c 实现顺序栈
- 顺序栈的实现 c
- C语言实现顺序栈
- c语言实现顺序栈
- C语言 实现 顺序栈
- 顺序栈的C实现
- 顺序栈C语言实现
- C语言实现顺序栈
- 堆栈顺序实现入栈和出栈等(C)
- 栈的实现方式:顺序栈和链表栈 C语言
- C语言链式栈和顺序栈的实现
- c语言顺序栈的表示和实现
- C语言实现,顺序队列,循环队列,和栈!
- Unity 使用 Stripping Level == Use micro mscorlib 导致 MD5.Create() 返回NULL
- 驰为hi8pro 刷win10单系统
- 蓝桥杯Java练习——古堡算式
- 简单理解Android Binder通信(AIDL)
- 目标跟踪(3)——卡尔曼滤波器
- c/c++实现顺序栈和链栈
- 【JZOJ3736】【NOI2014模拟7.11】数学题(math)
- unity游戏系统之-线性VS非线性 如何处理RPG游戏任务与剧情?
- MEMS惯性传感器的性能及校准
- Redis常用数据类型介绍、使用场景及其操作命令
- Qt图片格式转换
- 关于动态库和静态库的总结
- flume+kafka+storm整合00
- 知晓当前是哪一个活动