首页 > 其他分享 >栈的顺序存储 C语言

栈的顺序存储 C语言

时间:2023-04-30 14:44:08浏览次数:33  
标签:return SqStack int top C语言 false data 顺序存储

#include<iostream>
#include<stdio.h>

#define MAXSIZE 50
typedef struct 
{
    int data[MAXSIZE];
    int top;
 }  SqStack;
 
// 初始化栈 
 void InitStack(SqStack &s)
{
    s.top=-1;
}
//判断栈空
bool StackEmpty(SqStack &s)
{
    if(s.top==-1)
    {
        return true;
     } 
     else
     {
         return false;
     }
 } 
 
//入栈 
 bool Push(SqStack &s,int x)
 {
     if(s.top==MAXSIZE-1)
     {
         return false;
    }
    s.data[++s.top]=x;//先加1 然后再入栈 
    return false;
 }
 //出栈 
 bool pop(SqStack &s,int &x)
 {
     if(s.top==-1)
     {
         return false;
    }
     x=s.data[s.top--];//先出栈 然后指针再减1 
     return false;
     
 }
 
 
 //获得栈顶元素 
 bool GetTop(SqStack &s,int &x)
{
    if(s.top==-1) return false;
    x=s.data[s.top];
    return true;
    
}
 

int main()
{
    SqStack stack;
    InitStack(stack);
    int number[]={1,2,3,4,5};
    for(int i=0;i<5;i++)
    {
        Push(stack,number[i]);
        
    }
    int n;    
    for(int i=0;i<5;i++)
    {
    pop(stack,n);
    printf("%d\n" ,n);
    }     
 } 

 

标签:return,SqStack,int,top,C语言,false,data,顺序存储
From: https://www.cnblogs.com/liuyanchao/p/17365270.html

相关文章

  • C语言链式存储(使用引用传递)
    #include<stdio.h>#include<stdlib.h>typedefstructLinkNode{ intdata; structLinkNode*next;}LinkNode;typedefstructLink{ LinkNode*front,*rear;//frontrear为链表的伴随指针}LinkQueue;voidInitQueue(LinkQueue&Q){Q.front=Q.rear......
  • C语言的存储类别
    存储类别概念对象:硬件中,被存储的每个值都占用一定的物理内存,c语言吧这样的一块内存成为对象标识符:标识符用来指定特定的对象存储期:用来描述对象,描述对象在内存中保留了多长时间作用域、用来描述标识符,描述程序中可以访问标识符的区域链接:用来描述标识符,c语言有3中链接属性:......
  • C语言函数大全-- s 开头的函数(3)
    C语言函数大全本篇介绍C语言函数大全--s开头的函数(3)1.sleep1.1函数说明函数声明函数功能unsignedintsleep(unsignedintseconds);它是C语言标准库中的函数,用于使当前进程挂起一定的时间。在挂起期间,操作系统会将该进程从调度队列中移除,直到指定的时间过去为......
  • c语言创建队列的链式存储
    #include<stdio.h>#include<stdlib.h>typedefstructLinkNode{intdata;structLinkNode*next;}LinkNode;typedefstructLink{LinkNode*front,*rear;//frontrear为链表的伴随指针}LinkQueue;//初始化voidInitQueue(LinkQueue*......
  • c语言报错 [Error] invalid initialization of non-const reference of type 'LinkQue
     进行地址传递是出现报错临时值不能作为非常量引用参数进行传递所以需要在main函数中·重新定义指针传递 ......
  • 希望所有计算机学生能看到这篇c语言教程
    大部分程序员走入编程世界第一个学习的语言就是C语言。作为一门古老的编程语言,c语言拥有48年的发展历程。为什么要学习C语言?C语言是学习计算机程序设计语言的入门语言。最全面的编程面试网站C语言是一门偏底层的语言,学好它,可以让你更好的了解计算机。学会了C语言,你就能学习......
  • c语言中inline用法
    使用inline函数可以提升程序效率,但是让inline函数生效是有条件的...打开Linux内核源代码,会发现内核在定义C语言函数时,有很多都带有“inline”关键字,请看下图,那么这个关键字有什么作用呢? inline关键字的作用在C语言程序开发中,inline一般用于定义函数,inline函数也被称作......
  • C语言函数大全-- s 开头的函数(2)
    C语言函数大全本篇介绍C语言函数大全--s开头的函数(2)1.setlinestyle1.1函数说明函数声明函数功能voidsetlinestyle(intlinestyle,unsignedupattern,intthickness);设置当前绘图窗口的线条样式、线型模式和线条宽度参数:linestyle:线条样式,取值范围......
  • C语言复习
    环境配置(Windows、Linux、Mac)https://fishc.com.cn/forum.php?mod=forumdisplay&fid=329&filter=typeid&typeid=571java与C语言的对比linux运行代码转义字符define把所有出现的标识符全部转换为常量写法:#define标识符常量例如#defineURL"www.baidu.com"#defineD......
  • C语言刷leetcode——并查集
    目录概述参考链接:刷题入门题:547.省份数量(朋友圈)684.冗余连接概述https://leetcode.cn/problems/number-of-provinces/solution/python-duo-tu-xiang-jie-bing-cha-ji-by-m-vjdr/基本概念并查集是一种数据结构并查集这三个字,一个字代表一个意思。并(Union),代表合并查(Find),......