文章
17
粉丝
111
获赞
17
访问
17.1k
一、栈和队列的基本概念
1.栈:先进后出
2.队列:先进先出
3.栈、队列线性表的关系:栈和队列是受限的线性表,栈只能在头节点插入和删除,队列是在头节点删除,尾节点插入。
二、栈和队列的顺序存储结构
1.栈的顺序存储结构
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100
typedef int ElemType;
typedef int Status;
typedef struct{
ElemType data[MAXSIZE];
int top;
}sqStack;
Status InitStack(sqStack *s);//初始化
Status ClearStack(sqStack *s);//清空
Status StackEmpty(sqStack s);//判断栈是否为空
int StackLength(sqStack s);//栈的个数
Status GetTop(sqStack s,ElemType *e); //栈顶元素
Status Push(sqStack *s,ElemType e);//插入元素
Status Pop(sqStack *s,ElemType *e);//出栈
Status DestroyStack(sqStack *s);//销毁栈
int main(){
sqStack sk;
int i;
ElemType e;
printf("1.InitStack\n");
InitStack(&sk);
printf("2.Push 1-5\n");
for(i=1;i<=5;i++){
Push(&sk,i);
}
printf("3.Pop number");
for(i=1;i<=3;i++){
Pop(&sk,&e);
...
登录后发布评论
暂无评论,来抢沙发