`
实学实战
  • 浏览: 15650 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

数据结构 —栈的创建、出、进栈

 
阅读更多
#include <stdio.h>
#include <stdlib.h>

#define maxsize 20
typedef int ElemType;

typedef struct Stack{
	ElemType data[maxsize];
	int top;
}Stack;


//初始化
Stack * Init()
{
	Stack *s=(Stack*)malloc(sizeof(Stack));
	s->top=-1;
	return s;
}

//进栈
void Push(Stack *s,ElemType e)
{
	if(s->top==maxsize-1)
		return;
//	s->data[s->top+1]=e;
//	s->top++;
	s->data[++(s->top)]=e;	
}

//出栈
void Pop(Stack *s,ElemType *e)
{
	if(s->top==-1)	
	*e=s->data[s->top--];
}

//输出
void out(Stack *s)
{
	int i=s->top;
	while(i!=-1)
	{
		printf("%d ",s->data[i]);
		i--;
	}
	printf("\n");
}

//主函数
void main()
{
	Stack *s;
	ElemType e;

	s=Init();
	printf("这是栈的、请输入数据:\n");
	scanf("%d",&e);
	while(e!=0)
	{
		Push(s,e);
		scanf("%d",&e);
	}
	out(s);

}







分享到:
评论

相关推荐

    栈类-建栈,进栈,出栈

    栈是一种在计算机科学中广泛应用的数据结构,它遵循“后进先出”(LIFO, Last In First Out)的原则。在栈中,最后插入的元素(称为“栈顶”)是第一个被删除的元素。栈在许多算法和程序设计中都扮演着重要角色,如...

    数据结构:栈子系统.docx

    数据结构中的栈是一种重要的抽象数据类型,它遵循“后进先出”(LIFO, Last In First Out)的原则。在本题中,我们讨论的是一个栈子系统,它包括了多个与栈操作相关的功能,如进栈、出栈、显示栈内所有元素以及两个...

    C++实现的任意进制转换(数据结构——栈和队列)

    本文将深入探讨如何使用C++语言实现任意进制转换,特别是涉及到小数部分的处理,并结合数据结构中的栈和队列进行阐述。C++作为一门强大的静态类型语言,其丰富的库支持和高效性能使得它成为实现这种算法的理想选择。...

    java applet 模拟栈的进栈与出栈

    在这个特定的案例中,我们讨论的是如何使用Java Applet来模拟栈的数据结构,包括进栈(压入)和出栈(弹出)操作。栈是一种后进先出(LIFO)的数据结构,常用于各种算法和程序设计中。 首先,我们需要了解栈的基本...

    数据结构栈和队列PPT学习教案.pptx

    数据结构栈和队列PPT学习教案 本资源是关于数据结构栈和队列的PPT学习教案,主要讲解了栈的定义、栈的表示和实现、栈的应用、队列的定义、队列的表示和实现、队列的应用等内容。 栈的定义 栈是一种限定仅在表尾...

    栈的初始化、进栈出栈、清空栈、销毁栈

    栈是一种特殊的线性数据结构,遵循“后进先出”(LIFO)的原则。在计算机科学中,栈常被用于实现各种算法和数据处理任务,如表达式求值、递归、内存管理等。本节将详细介绍栈的初始化、进栈、出栈、清空栈以及销毁栈...

    数据结构之坐标栈.rar

    本示例中的“数据结构之坐标栈.rar”是一个关于使用C++实现数据结构栈的应用,特别关注存储和操作二维坐标。下面我们将详细探讨这个主题。 首先,栈是一种线性数据结构,遵循“后进先出”(LIFO)的原则。在栈中,...

    数据结构栈实验报告1

    在本实验报告中,主题是关于数据结构中的栈及其应用,具体涉及了栈的存储结构实现、字符串逆序输出、括号匹配检查以及选做任务——算术表达式的求值。以下是详细的知识点: 1. **栈的存储结构**: - 实验报告中...

    c++数据结构---链式栈

    本篇文章详细介绍了如何在VS2010环境下使用C++实现链式栈,包括数据结构的定义、链式栈的创建、入栈、出栈以及遍历操作的具体实现过程。链式栈因其动态分配的特点,在处理不确定大小的数据集合时具有明显优势。

    数据结构第三章栈

    数据结构中的栈是一种特殊类型的线性数据结构,它遵循“后进先出”(LIFO)的原则。栈的操作主要包含两个基本操作:压栈(入栈,Push)和弹栈(出栈,Pop)。栈在计算机科学中有着广泛的应用,例如在函数调用、...

    数据结构实验二——顺序栈,链栈,循环队列,链队列.pdf

    本实验主要探讨了四种数据结构:顺序栈、链栈、循环队列和链队列,这些都是在编程实践中常用的抽象数据类型。 1. **顺序栈**: - 顺序栈是一种线性数据结构,其元素在内存中连续存放,类似于数组。栈的特点是...

    数据结构-栈(1).ppt

    在数据结构中,栈和队列是两种基础且广泛使用的数据结构。 栈(Stack)是一种特殊的线性表,它的主要特点是“后进先出”(Last In First Out,简称LIFO)。在栈中,新添加的元素(称为入栈或压栈)总是位于旧元素之...

    数据结构课程设计-车厢调度

    在设计中,我们首先需要创建相关的数据结构,包括栈和二维数组。栈的基本操作包括求栈的长度,判栈为空,入栈、出栈,求栈顶元素等操作。在核心函数中,我们用了三个栈:inputp、tempp、outputp。inputp存放的是开始...

    数据结构之栈的学习

    数据结构中的栈是一种重要的抽象数据类型,它遵循后进先出(LIFO)的原则,即最后进入栈的元素最先离开。栈在计算机科学中有广泛的应用,例如括号匹配、递归调用、深度优先搜索(DFS)等。下面将详细讨论栈的概念、...

    数据结构-栈的顺序存储

    栈是一种后进先出(LIFO,Last In First Out)的数据结构,常用于处理逆序操作的问题,如函数调用、表达式求值等。 顺序存储的栈通常使用数组来实现。数组提供了一种连续的内存空间,可以方便地访问和修改其中的...

    专升本数据结构第三-四章+栈+队列.pdf

    栈(Stack)是一种遵循“后进先出”(LIFO,Last In First Out)原则的线性数据结构。在栈中,元素的插入(称为进栈或入栈)和删除(称为出栈或弹栈)都只发生在栈顶。栈底是元素加入的起始位置,而栈顶则是元素最后...

    数据结构实验-栈和队列.docx

    栈是一种后进先出(LIFO,Last In First Out)的数据结构,常被比喻为“堆叠”的概念。在栈中,最新的元素被添加到栈顶,而删除元素时也是从栈顶开始。链式栈是一种基于链表实现的栈,它通过链表节点的指针来实现...

    数据结构实验2.docx

    数据结构实验2主要关注的是如何实现顺序栈的基本操作,包括初始化、判断栈的状态(非空或空)、元素的入栈和出栈、栈长度的计算、以及栈内元素的显示。这里我们详细讨论这些知识点: 1. **顺序栈**:顺序栈是一种...

    C语言实现栈的操作

    栈是计算机科学中一种重要的数据结构,它的主要特点是后进先出(Last In First Out,简称LIFO)。在C语言中,我们可以通过动态内存分配和指针操作来实现栈的各种操作。以下将详细讲解如何用C语言实现这些基本操作: ...

    数据结构实验——栈子系统

    在本实验中,我们主要探讨的是数据结构中的一个重要概念——栈(Stack),并采用C语言进行实现。栈是一种特殊的线性表,具有“后进先出”(LIFO,Last In First Out)的特性,其操作主要集中在一端,称为栈顶。在...

Global site tag (gtag.js) - Google Analytics