2 qq 33317981 qq_33317981 于 2016.02.14 10:06 提问

栈的基本操作输入输出

大神们帮忙看看哪儿出问题了,关于栈的基本操作能不能写个代码使得数据从栈底到栈顶的输出

5个回答

SSeanXu
SSeanXu   2016.02.14 10:33

代码呢?遍历一次就输出了,具体看你栈的存储结构,有顺序栈、链栈……

leaf_130
leaf_130   2016.02.14 10:48

栈的特点是 先进后出。也就是说 先输出的 是 栈顶元素
而且你没附上代码,不知道怎么帮你看

91program
91program   Ds   Rxr 2016.02.14 10:59

栈的基本特点是从顶出,如果可以请使用两个栈:先出栈、压入另一个空栈,再对这个栈出栈就是你想要的效果。

fk002008
fk002008   2016.02.14 12:10

其实呢你在定义栈的时候是按照一般定义进行的,也就是存在一个栈顶的变量或指针
这个是经典的定义肯定没错
但是数据结构的思想是提供逻辑操作和物理实现,你可以不拘泥一格
你可以定义变种的栈啊
比如存在一个栈底的变量或指针,等等
或者是再借用一个临时的栈,入栈再出栈就可以了。
自由发挥,

x732359395
x732359395   2016.02.14 12:18

顺序栈的话是先进后出,你可以用链栈。

x732359395
x732359395 或者你用队列,先进先出。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
数据结构顺序栈和链栈基本操作----c++实现
顺序栈: #include using namespace std; #define MaxSize 50 class SeqStack{ private: int data[MaxSize]; int top; public: void initStack(); //初始化栈 void Push(int elem);//入栈 int Pop();//出栈 b
栈的基本操作实验报告
#include "stdio.h"#include "stdlib.h"#define STACK_INIT_SIZE 100 /* 存储空间初始分配量 */#define STACK_INCREMENT 20/* 存储空间分配增量 */ typedef int SElemType;typedef struct{   SElemType *base; /* 在栈构造之前和销毁之后,base的值为NULL */   SElemType *top; /* 栈顶指针 */   int stacksize; /*
试直接利用栈的基本操作写出先序遍历的非递归
-
【数据结构】链栈的基本操作
链栈的基本操作.cpp #include using namespace std; #define OK 1 #define ERROR 0 typedef int ElemType; typedef int Status; typedef struct SNode {  ElemType data;  struct SNode *next; }SNode,*Lin
栈的C语言基本操作
数据结构之c语言实现顺序栈的基本操作   这是数据结构中栈的基本操作的代码。栈是一个后进先出的线性结构,也有顺序栈和链栈两种结构,这里采用顺序储存结构。 包括建立栈、元素进栈、取栈顶元素等基本操作。还包括十进制向八进制的转换(稍加修改可以将十进制转换为任意进制的数)   #include #define size 50 #include #define
6.37③ 试直接利用栈的基本操作写出先序遍历的非递归 形式的算法
6.37③ 试直接利用栈的基本操作写出先序遍历的非递归 形式的算法(提示:不必按3.3.2节介绍的从递归到非递归 的方法而直接写出非递归算法)。 要求实现下列函数: void PreOrder(BiTree bt, void (*visit)(TElemType));  /* 使用栈,非递归先序遍历二叉树bt,    */ /* 对每个结点的元素域data调用函数visit *
顺序栈的九种基本操作和实现(数据结构C语言版清华大学严蔚敏)
栈是仅限定在表尾进行插入和删除操作的线性表,在严蔚敏版的C语言版的数据结构中共定义了九种栈的基本操作;分别是构造 销毁 清空 栈长 栈顶 插入 删除 遍历。下面就是代码实现: 头文件和宏定义(保存为constant.h)#include<iostream> #include<string.h> #include<stdlib.h> #include<malloc.h> using namespa
[数据结构]栈的基本操作
栈的基本操作
链栈的基本操作实现(c语言)
#include #include typedef int ElemType; typedef struct linknode { ElemType data; struct linknode *next; }LiStack; /****************初始化链栈********************/ void InitStack(LiStack* &s) {
栈的基本操作(采用顺序存储结构)
关于栈的基本操作,记录一下,方便以后查看。包括栈的初始化、入栈、出栈、清空栈、销毁栈、获取已入栈元素个数 #include #include #define TRUE 1 #define FALSE 0 #define ERROR -1 #define STACKINITSIZE 20 #define STACKADDSIZE 5 typedef int ElemType; type