文章

17

粉丝

111

获赞

17

访问

11.5k

头像
数据结构第三章栈和队列
数据结构
发布于2023年7月10日 22:36
阅读数 544

一、栈和队列的基本概念

 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);
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发