数据结构---栈---链式存储
来源:互联网 发布:联想y5070优化教程 编辑:程序博客网 时间:2024/06/06 01:52
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 10
typedef int Status;
typedef int SElemType;
typedef struct StackNode
{
SElemType data;
struct StackNode *next;
}StackNode,*LinkStackPtr;
typedef struct LinkStack
{
LinkStackPtr top;
int count;
}LinkStack;
Status StackEmpty(LinkStack *S)
{
if(S->count == 0 )
return TRUE;
else
return FALSE;
}
Status Push(LinkStack *S,SElemType e)
{
LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
s->data = e;
s->next = S->top;
S->top = s;
S->count++;
return OK;
}
Status Pop(LinkStack *S,SElemType *e)
{
LinkStackPtr p;
if(StackEmpty(S))
return ERROR;
*e = S->top->data;
p = S->top;
S->top = S->top->next;
free(p);
S->count--;
return OK;
}
void Display(LinkStack *S)
{
int a =1;
while(!StackEmpty(S))
{
SElemType *e = (SElemType*)malloc(sizeof(SElemType));
Pop(S,e);
printf("%d->",*e);
free(e);
}
printf("\n");
}
int main()
{
LinkStack *S = (LinkStack *)malloc(sizeof(LinkStack));
Push(S,1);
Push(S,2);
Push(S,3);
Push(S,4);
Display(S);
}
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 10
typedef int Status;
typedef int SElemType;
typedef struct StackNode
{
SElemType data;
struct StackNode *next;
}StackNode,*LinkStackPtr;
typedef struct LinkStack
{
LinkStackPtr top;
int count;
}LinkStack;
Status StackEmpty(LinkStack *S)
{
if(S->count == 0 )
return TRUE;
else
return FALSE;
}
Status Push(LinkStack *S,SElemType e)
{
LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
s->data = e;
s->next = S->top;
S->top = s;
S->count++;
return OK;
}
Status Pop(LinkStack *S,SElemType *e)
{
LinkStackPtr p;
if(StackEmpty(S))
return ERROR;
*e = S->top->data;
p = S->top;
S->top = S->top->next;
free(p);
S->count--;
return OK;
}
void Display(LinkStack *S)
{
int a =1;
while(!StackEmpty(S))
{
SElemType *e = (SElemType*)malloc(sizeof(SElemType));
Pop(S,e);
printf("%d->",*e);
free(e);
}
printf("\n");
}
int main()
{
LinkStack *S = (LinkStack *)malloc(sizeof(LinkStack));
Push(S,1);
Push(S,2);
Push(S,3);
Push(S,4);
Display(S);
}
阅读全文
0 0
- 数据结构---栈---链式存储
- 数据结构《链式栈的存储》
- 数据结构 - 栈的链式存储
- 数据结构-栈的链式存储
- 数据结构(栈):栈的链式存储结构
- 常用数据结构之链式存储的栈
- 数据结构四栈的链式存储结构
- 数据结构:栈的链式存储结构
- 【数据结构基础】栈的链式存储结构
- java 数据结构之 链式存储结构 栈
- 数据结构之栈的链式存储结构
- 数据结构-栈-链式存储-基本运算
- 数据结构:栈的链式存储结构
- 数据结构——栈之链式存储
- 【数据结构】链式存储单链表
- 数据结构 链式存储
- 数据结构 链式存储源码
- 数据结构 链式存储结构
- supervisor使用详解
- mysql安装过程遇到的问题以及解决方案
- java的历史与展望
- js运动与变化
- Ubuntu 14.04 server配置使用无线连接静态设置IP
- 数据结构---栈---链式存储
- 08_基本函数
- c++使用c# DataSet方法
- HTTP网络连接相关知识整理(一):http连接与Socket连接
- wdcp配置https
- 让我们来导出unity3d中的mainTexture贴图转换保存为png
- 如何实现抽屉效果
- php常用函数(持续更新)
- TCP协议分析和详细解析