#include "pch.h"
#include <iostream>
typedef struct sTack
{
int * pData;
int nSize;
int nTop;
} *PSTACK;
void initStack(PSTACK pStack, int nSize);
bool stack_isEmpty(PSTACK pStack);
bool stack_isFull(PSTACK pStack);
void stack_push(PSTACK pStack, int nData);
void stack_pop(PSTACK pStack, int &nData);
void show_stack(PSTACK pStack);
void initStack(PSTACK pStack, int nSize)
{
pStack->pData = (int*)malloc(sizeof(int) * nSize);
pStack->nSize = nSize;
pStack->nTop = 0;
}
bool stack_isEmpty(PSTACK pStack)
{
if (pStack->nTop == 0)
{
return true;
}
return false;
}
bool stack_isFull(PSTACK pStack)
{
if (pStack->nTop == pStack->nSize)
{
return true;
}
return false;
}
void stack_push(PSTACK pStack, int nData)
{
if (stack_isFull(pStack))
{
std::cout << "栈空间满了!!" << std::endl;
return;
}
pStack->pData[pStack->nTop] = nData;
pStack->nTop++;
}
void stack_pop(PSTACK pStack, int & nData)
{
if (stack_isEmpty(pStack))
{
std::cout << "栈空间空了!!" << std::endl;
return;
}
nData = pStack->pData[pStack->nTop - 1];
pStack->nTop--;
}
void show_stack(PSTACK pStack)
{
if (stack_isEmpty(pStack))
{
return;
}
for (int i = pStack->nSize - 1; i >= 0; --i)
{
std::cout << pStack->pData[i] << "\t";
}
std::cout << std::endl;
}
int main()
{
sTack s;
initStack(&s, 6);
stack_push(&s, 1);
stack_push(&s, 2);
stack_push(&s, 3);
stack_push(&s, 4);
stack_push(&s, 5);
stack_push(&s, 6);
int nData;
stack_pop(&s, nData);
std::cout << "弹出的元素为:" << nData << std::endl;
stack_push(&s, 7);
show_stack(&s);
}
数据结构【静态栈】代码实现
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 链表定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链...
- 栈的定义: 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行 从影响数据结构的...
- 一.简介 在哔哩哔哩看视频学的,赫斌老师数据结构入门的内容-b站搜索:av6159200(P33),通过学习,能独...
- A 静态数据区:内存在程序启动的时候才被分配,而且可能直到程序开始执行的时候才被初始化,如函数中的静态变量就是...
- /** * 用不带头结点的单链表构造的链式栈 * LinkedStack * 创建人:guxiaohao * 时间...