`
chengzhi_hong
  • 浏览: 168302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

顺序栈

 
阅读更多

#include "stdio.h"
#include "malloc.h"
#define MAX 100
typedef struct SeqStack
{
    int s[MAX];
    int t;
}*PSeqStack;
PSeqStack createEmptyStack_seq()
{
    PSeqStack pastack;
    pastack=(SeqStack*)malloc(sizeof(SeqStack));
    if(pastack==NULL)
        printf("Out of space!\n");
    else
        pastack->t=-1;
    return pastack;
}
int isEmptyStack_seq(PSeqStack pastack)
{
    return (pastack->t==-1);
}
void push_seq(PSeqStack pastack,int x)
{
    if(pastack->t>=MAX-1)
        printf("Overflow!\n");
    else
    {
        pastack->t=pastack->t+1;
        pastack->s[pastack->t]=x;
    }
}
void pop_seq(PSeqStack pastack)
{
    if(pastack->t==-1)
        printf("Underflow!\n");
    else
        pastack->t=pastack->t-1;
}
int top_seq(PSeqStack pastack)
{
    return(pastack->s[pastack->t]);
}
int main()
{
    PSeqStack pastack;
    int N;
    printf("Please input number to N!\n");
    scanf("%d",&N);
    pastack=createEmptyStack_seq();
    for(int i=0;i<N;i++)
    {
        int x;
        printf("Please input number to stack!\n");
        scanf("%d",&x);
        push_seq(pastack,x);
    }
    printf("The top number is %d",top_seq(pastack));
}

分享到:
评论

相关推荐

    顺序栈验证试验

    顺序栈是一种常见的数据结构,它在计算机科学和编程中扮演着重要的角色。顺序栈是基于数组实现的,其特点是元素的插入(压栈)和删除(弹栈)操作都发生在栈顶,遵循“后进先出”(LIFO,Last In First Out)的原则...

    顺序栈实现括号配对

    顺序栈实现括号配对 在计算机科学中,括号配对是指在一个表达式中,各种括号之间的匹配关系。例如,在一个数学表达式中,我们可以使用小括号、中括号和大括号来表示不同的操作优先级。然而,在实际应用中,我们需要...

    C++模版类实现顺序栈、链栈

    本项目中,模版类被用来实现两种常见的数据结构——顺序栈和链栈,这两种栈都遵循后进先出(LIFO)的原则。下面我们将详细探讨这些知识点。 首先,**顺序栈**是基于数组实现的栈。在C++中,可以定义一个名为`...

    顺序栈的表示和实现源码

    顺序栈是一种常见的数据结构,它遵循“后进先出”(LIFO)的原则。在顺序栈中,元素存储在一块连续的内存区域中,通过数组或动态数组来实现。顺序栈的操作通常包括初始化、判断栈是否为空、获取栈顶元素、进栈(压栈...

    数据结构顺序栈验证实验报告.pdf

    数据结构中的顺序栈是一种特殊的线性表,它具有后进先出(LIFO)的特点,即最后进入的元素最先离开。在本实验报告中,学生通过编写C语言代码来理解和验证顺序栈的操作特性。 首先,实验的目标是让学生掌握栈的顺序...

    顺序栈的各种基本操作

    ### 顺序栈的基本操作 #### 一、顺序栈概述 顺序栈是一种基于顺序存储结构的栈,它通过数组来实现栈的功能。与链式栈不同,顺序栈中的元素是连续存储的,通常需要预分配一定的空间来存放栈中的元素。 #### 二、...

    顺序栈的常用操作 C++

    C++实现顺序栈的常用操作,定义了一个顺序栈的类,做了一个循环菜单,包括:创建顺序栈,入栈,出栈,清空栈,计算顺序栈的元素个数,判断顺序栈是否为空,打印栈等操作。

    顺序栈的实现.zip

    这个程序实现了顺序栈的初始化,入栈,出栈、取顺序栈的顶栈元素,退出的作用。/***顺序栈的实现***/ #include #include using namespace std; //顺序栈定义 #define OK 1 #define ERROR 0 #define ...

    数据结构 顺序栈

    顺序栈是数据结构中的一种基本类型,属于线性数据结构。本篇我们将深入探讨顺序栈的概念、实现和应用。 顺序栈,顾名思义,是按照元素在内存中的顺序存储数据的栈。在计算机内存中,顺序栈通常采用数组来实现。与...

    顺序栈实现

    顺序栈是一种特殊的线性数据结构,它遵循“后进先出”(LIFO)的原则,即最后进入的元素最先离开。在计算机科学中,栈常用于执行表达式求值、括号匹配、函数调用、内存管理等多种任务。C++ 是一种通用的编程语言,以...

    顺序栈相关算法

    1、 定义顺序栈类。 2、 实现如下算法: 1)创建顺序栈; 2)插入操作:向栈顶压入值为 x 的元素; 3)删除操作:弹出栈顶元素,将数据输出在屏幕上; 4)存取操作:读取栈顶元素,将数据输出在屏幕上;。 3、 为了...

    顺序栈数据结构

    顺序栈是一种常见的线性数据结构,它在内存中连续存储元素,通过栈顶指针来追踪元素的添加和移除位置。在这个项目中,我们利用VC++编程环境实现了顺序栈的基本操作,包括初始化、压栈(入栈)、弹栈(出栈)以及查看...

    利用顺序栈逆置循环队列.docx

    顺序栈是一种使用数组实现的栈,循环队列是一种使用数组实现的队列。我们使用以下函数来实现栈和队列的操作: * `Init_SeqStack`:初始化顺序栈 * `Empty_SeqStack`:判断顺序栈是否为空 * `Push_SeqStack`:将元素...

    顺序栈的代码

    顺序栈是一种常见的数据结构,它在内存中按照线性顺序存储元素,操作主要集中在栈顶进行,包括入栈(push)和出栈(pop)。在C语言中,我们可以使用结构体来定义顺序栈,并通过头文件(h文件)声明接口,而在对应的C...

    栈:顺序栈和链表栈_C语言项目

    本文将深入探讨一种常用的数据结构——栈,特别是顺序栈和链表栈,它们都是实现栈功能的不同方式。栈通常被称为“后进先出”(LIFO,Last In First Out)的数据结构,广泛应用于各种算法和程序设计中,如表达式求值...

    顺序栈ADT数据结构代码

    顺序栈(Sequential Stack)是计算机科学中一种基本的数据结构,它是线性表的一种特殊形式,具有后进先出(LIFO)的特点。在顺序栈中,元素存储在一块连续的内存区域,通常通过数组来实现。本文将详细介绍顺序栈的...

    顺序栈和链栈操作

    本主题主要探讨两种常见的栈实现:顺序栈和链栈。栈是一种特殊的线性数据结构,遵循“后进先出”(LIFO)的原则,即最后入栈的元素最先出栈。 首先,我们来详细了解一下顺序栈。顺序栈是用一维数组来实现的栈,其...

    顺序栈、链栈将10进制转为2、8、16进制源码

    本话题聚焦于一种特定的应用——使用C++实现的顺序栈和链栈,将10进制数转换为2、8、16进制。这里我们将深入探讨顺序栈和链栈的概念,以及它们如何应用于不同进制之间的转换。 首先,顺序栈是一种基于数组的数据...

    顺序栈的基本操作

    顺序栈是一种特殊类型的线性数据结构,它在内存中连续存储元素,并且只允许在一端进行插入和删除操作,这一端通常称为栈顶。在C语言中实现顺序栈,我们需要理解其基本概念、数据结构以及相关操作。 1. **基本概念**...

    顺序栈将一个非负的十进制整数N转换为对应的B进制数。

    ### 顺序栈实现非负十进制数到B进制数的转换 #### 背景与概述 在计算机科学中,数据的表示和转换是非常基础且重要的概念。本篇文章介绍了一个利用顺序栈来实现非负十进制整数转换为其他进制数的程序。该程序使用...

Global site tag (gtag.js) - Google Analytics