数据结构(栈stack)

一、栈

1、栈的定义

逻辑结构:与普通线性表相同数据的运算:插入、删除操作有区别
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、顺序栈

在这里插入图片描述

2.1、初始化

在这里插入图片描述
”.”适用于结构体变量,”->”适用于结构体指针变量

typedef struct{
   
	int data[MaxSize];
	int top;
}SqStack;

void InitStack(SqStack &S){
   
	S.top=-1;
}

2.2、进栈

在这里插入图片描述

bool Push(SqStack &S,int x){
   
	if(S.top==MaxSize-1)
		return false;
	S.top=S.top+1;
	S.data[S.top]=x;
	return true;
} 

2.3、出栈

在这里插入图片描述

bool Pop(SqStack &S,int &x){
   
	if(S.top==-1)
		return false;
	x=S.data[S.top];
	S.top=S.top-1;
	return true;
} 

2.4、读取

bool GetTop(SqStack S,int &x){
   
	if(S.top==-1)
		return false;
	x=S.data[S.top];
	return true;
} 

在这里插入图片描述

3、链栈

在这里插入图片描述

相关推荐

  1. 数据结构---(Stack)

    2024-01-29 08:48:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 08:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 08:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 08:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 08:48:01       20 阅读

热门阅读

  1. Vue路由

    2024-01-29 08:48:01       33 阅读
  2. 【洛谷题解】P1706 全排列问题

    2024-01-29 08:48:01       38 阅读
  3. Redis 事务

    2024-01-29 08:48:01       34 阅读
  4. MyBatis框架-XML映射器

    2024-01-29 08:48:01       24 阅读
  5. 关键点标注工具

    2024-01-29 08:48:01       28 阅读
  6. VUE computed和watch例子

    2024-01-29 08:48:01       31 阅读
  7. [EFI]戴尔T5810电脑 Hackintosh 黑苹果efi引导文件

    2024-01-29 08:48:01       36 阅读
  8. 非root运行docker容器

    2024-01-29 08:48:01       41 阅读