IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 数据结构 栈的各种操作 c/c++代码(连更) -> 正文阅读

[C++知识库]数据结构 栈的各种操作 c/c++代码(连更)

#include<iostream>
using namespace std;

#define MaxSize 10; // 定义栈的最大元素 

typedef struct SqStack{
	ElemType data[MaxSize]; // 栈中元素 
	int top; // 栈顶指针,记录的是数组的下标,数组从栈底到栈顶依次增加 
}SqStack;

// 初始化一个栈 
void InitStack(SqStack &s)
{
	s.top = -1; // 不能指向0,因为数组中0代表第一个元素,而当前没有元素在栈中 
 } 

// 判断一个栈是否为空
bool EmptyStack(SqStack s)
{
	if(s.top != -1) return false;
	else return true;
 } 

// 把x压栈 
bool PushStack(SqStack &s, ElemType x)
{
	if(s.top == MaxSize -1) return false; // 如果栈满了  
	s.top++;
	s.data[s.top] = x; // 注意,先把栈顶上移,再进行保存数据 
	return true;
 } 
 
// 出栈操作 ,并且用x保存出栈的元素 
bool PopStack(SqStack &s, ElemType &x)
{
	if(s.top == -1) return false;
	x = s.data[s.top]; 
	s.top --;
	return true;
}

// 读取栈顶元素 
bool GetTop(SqStack s, ElemType &x)
{
	if(s.top == -1) return false;
	x = s.data[s.top];
	return true;
}

// 清空栈 
bool ClearStack(SqStack &s)
{
	s.top = -1;
	return true;	
 } 

// 因为栈的大小不可改变,所以一开始会给栈分配大片的存储空间
// 一个大片的存储空间会导致空间的浪费 ,所以使用共享栈,让两个栈共同使用一个空间 

// 共享栈
typedef struct _SqStack{
	ElemType data; // 数据域 
	int top_1; // 1号栈的栈顶指针 
	int top_2; // 2号栈的栈顶指针 
}_SqStack; 

// 初始共享栈
bool Init_SqStack(_SqStack &s)
{
	// 两个栈,一个在存储空间的上方,一个在存储空间的下方 
	s.top_1 = -1; // 1号栈压栈是从上往下压栈 
	s.top_2 = MaxSize; // 2号栈压栈是从下往上压栈 
	// s.top_1 + 1 == s.top_2; // 说明共享栈满了 
 }



int main()
{
	return 0;
}

以上代码来源于自己手敲,没有跑过,不保证全对

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:19:49  更:2022-03-04 15:21:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:40:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码