首页 > 其他分享 >2008秋-顺序栈-顺序存储结构的栈

2008秋-顺序栈-顺序存储结构的栈

时间:2023-11-08 10:05:27浏览次数:42  
标签:head 顺序 struct head1 stacktype top printf 2008 顺序存储

/*---------------------------------------------------------

 Title: Sequence Stack(顺序栈) 顺序栈-顺序存储结构的栈 

 请先阅读教材67页, 2.3.2,2.3.3节, 栈的定义及基本运算

 (注意以下程序为简化后的,仅供入门学习之用)

----------------------------------------------------------*/

#include<stdio.h>

#include<stdlib.h>
//定义栈的结构
struct stacktype

{

   int stack[4];//存放数据元素
   int top;//栈顶指针
};
//初始化栈
struct stacktype * InitialStack()

{

 struct stacktype * head;

 head=(struct stacktype *)malloc(sizeof(struct stacktype ));

 head->top=-1;// 
 return head;

}
//入栈
void PushIntoStack(struct stacktype * head, int value)

{

 if(head->top==3)// hard code
    printf("Push Failed \n");

 else

    {

     head->top++;//
     head->stack[head->top]=value;

     }

}
//出栈
void PopFromStack(struct stacktype * head)

{

 if(head->top==-1)

   printf("Pop Failed \n");

 else

    {

     head->top--;//
     }

}
//显示栈中所有元素
void ShowStack(struct stacktype * head)

{

 int i;

 printf("\nShow all elements in stack:\n");

 printf("     Current value of top: %d \n     Elements:",head->top);

 for(i=0;i<=head->top;i++)

   printf(" %d ",head->stack[i]);

}

void main()

{

    struct stacktype * head1;

    head1=InitialStack();

    printf("%d",head1->top);

    ShowStack(head1);

    PushIntoStack(head1,11);

    ShowStack(head1);

    PushIntoStack(head1,22);

    ShowStack(head1);

    PopFromStack(head1);

    ShowStack(head1);

}

标签:head,顺序,struct,head1,stacktype,top,printf,2008,顺序存储
From: https://blog.51cto.com/emanlee/8245217

相关文章

  • 2008秋-链栈-链式存储结构的栈
    /*---------------------------------------------------------Title:LinkStack(链栈)链栈-链式存储结构的栈请先阅读教材67页,2.3.2,2.3.4节,栈的定义及基本运算(注意以下程序为简化后的,仅供入门学习之用)----------------------------------------------------------......
  • 2008秋-计算机软件基础-循环顺序队列
    /*---------------------------------------------------------Title:SequenceQueue(顺序队列)顺序队列-顺序存储结构的队列请先阅读教材74-76页,2.4.1-2.4.3节,队列的定义及基本运算(注意:以下程序为简化后的,仅供入门学习之用)--------------------------------------......
  • 2008秋季-计算机软件基础-循环链队列
    /*---------------------------------------------------------Title:LinkQueue(链队列)链队列-链式存储结构的队列请先阅读教材74-77页,2.4.1-2.4.4节,队列的定义及基本运算(注意:以下程序为简化后的,仅供入门学习之用)---------------------------------------------......
  • 2008秋-计算机软件基础-第三章- 二叉排序树
    /*---------------------------------------------------------Title:二叉排序树(BinarySortingTree)请先阅读教材91-93,96-99页,3.2.3,3.2.7节,(注意以下程序为简化后的,仅供入门学习之用)----------------------------------------------------------*/#includ......
  • 数据结构三元顺序表稀疏矩阵的加法程序
    三元顺序表稀疏矩阵的加法三元顺序表是什么?稀疏矩阵又是什么?稀疏矩阵的加法和普通矩阵的加法有什么不同?你看到这些是不是都有些困惑。那么现在我们就来讲讲这些陌生的东西。三元顺序表将稀疏矩阵非零元素对应的三元组所构成的集合,按照行优先的顺序排列成一个线性表,毫无疑问......
  • TestNG的几种注解顺序查看
    测试代码:packagecom.soos.apps.selenium.apply;importorg.testng.annotations.*;@TestpublicclassTestDemo{@BeforeMethodpublicvoidbeforeMethod(){System.out.println("beforeMethod");}@AfterMethodpublicvoid......
  • Visual Studio 2008安装ASP.NET MVC 2 RTM
    1首先,要安装VisualStudio2008SP1,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=109862下载ASP.NETMVC2RTM(英文版,2.5M,AspNetMVC2_VS2008.exe)下载地址http://www.microsoft.com/en-us/download/details.aspx?id=220793双击AspNetMVC2_VS2008.e......
  • 多分类问题:模型输出结果,和标签的顺序
     背景:在多分类问题中,模型输出的结果是一个矩阵,某个值为1,其他的值为0.怎么知道值为1的那个位置,代表的是哪个标签?? 二分类常见的约定的惯例第一个位置通常对应"负类别":这是因为通常情决定了负类别是标签0或其他表示非目标类别的值。第二个位置通常对应"正类别":同样地,正......
  • Jemeter元件执行顺序及作用域
          ......
  • 自定义xunit测试用例的执行顺序
    有的时候我们会对程序进行单元测试,为了测试的效果以及后期的维护,我一般会将各个测试拆开,根据需要测试的类分到各个类型中,不过在实际操作的时候就出现了一些意想不到的问题,各个测试的执行是乱序的,按照我自己写测试的习惯,假如我需要测试新写的增删改查的功能,我会将......