2 qq 33317981 qq_33317981 于 2016.02.03 16:12 提问

栈的输出的c语言代码。。

c语言中栈的栈顶元素为什么有时候用L->top,有时候用L.top这两个有什么区别,栈的元素从栈底到栈顶输出的c语言代码怎么写,谢谢各位大神了

4个回答

qq_33921742
qq_33921742   2016.02.03 16:25
已采纳

用“->”还是“.”这个要看L是指针还是结构体了,栈是“先进后出,后进先出”。你是不是说,你要自己定一个“栈”其实呢就是自己做个链表,实现能从“栈底”到“栈顶”方向输出?

91program
91program   Ds   Rxr 2016.02.03 16:25

这个要看 L 的定义是指针,还是非指针变量。

91program
91program   Ds   Rxr 2016.02.03 16:27

栈的元素从栈底到栈顶输出:最直接的方法是先将栈元素出栈,建立一个新的栈。这样就是将本来的栈中元素的顺序颠倒了,然后对新的栈出栈就获取到想要的结果。

leilba
leilba   Rxr 2016.02.03 16:37

要看L的类型,比如说有如下的栈结构体:

struct Stack{
    int top() {
    //do somethng
    }
    //还有其他的一些东西
};

使用的时候:

// 直接创建Stack类型的数据
Stack stack;
//调用stack的top函数
stack.top();

//另外一种
//创建Stack类型的指针,并让其指向新建的具有Stack结构的内存空间(相当于对象)
Stack *stackPoint = new Stack();
//调用stackPoint的top函数
stackPoint->top();

也就是说,如果是指针变量的话那么就用 -> 访问内部的函数 ,如果是一般的变量的话,直接用 . 就可以访问内部函数了

leilba
leilba 你要从栈底到栈顶输出的话,有多种方案,一种是自己来重写一个栈,这个用数组或是链表来实现,给这个自定义的栈增加一个从栈底访问的方法,比如说数组的话0的位置作为栈底,链表的话第一个根节点作为栈底,然后依次访问到栈顶。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
用栈实现队列逆序输出
用栈实现队列逆序输出,C语言代码,VC++编译器!
迷宫——栈实现 C语言 递归
C语言字符输出来实现迷宫的绘制及小人的行走动画,数据结构课上满分的作品~ 使用栈来实现,并具体行走记忆功能。
基于栈的C语言迷宫问题与实现
基于栈的C语言迷宫问题与实现,非常好的源代码,供大家借鉴
数据结构上机实验 八皇后问题(栈) C语言
实验二 八皇后问题(栈)  实验目的:熟练掌握栈操作的基本算法实现。  实现功能:利用回溯法和栈来实现八皇后问题:在8×8的国际象棋棋盘上,安放8个皇后,要求没有一个皇后能够“吃掉”任何其他一个皇后,即没有两个或两个以上的皇后占据棋盘上的同一行、同一列或同一对角线。  实验机时:4  设计思路: 数据结构: enum boolean { false , true } enum boolean a[9] , b[17] , c[17] ;//检查皇后之间是否冲突 //皇后位置安全性可用逻辑表达式:a[ j ] && b[ i+j ] && c[ i-j+9 ] int s[9]; //s[1..8]表示顺序栈,栈的下标值表示皇后所在的行号,栈的内容是皇后所在的列号。 该算法抽象描述如下: (1) 置当前行当前列均为1; (2) while(当前行号≤8) (3) { 检查当前行,从当前列起逐列试探,寻找安全列号; (4) if ( 找到安全列号 ) (5) 放置皇后,将列号记入栈中,并将下一行置成当前行,第一列置为当前列; (6) else (7) 退栈回溯到上一行,移去该行已放置的皇后,以该皇后所在列的下一列作为当前列; (8) } 结束程序。
栈的实现(C语言)数组实现以及链表实现
栈的实现(C语言)数组实现以及链表实现源码,以及各个功能测试代码函数等 和后缀式转前缀式的用例
用C语言的堆栈实现LRU算法
用C语言的堆栈实现LRU算法,简单、易懂
C语言 栈的基本操作
栈的新建,插入,删除,取栈头等等 #include<malloc.h> #include<stdio.h> #define OK 1 #define ERROR 0 #define STACK_INIT_SIZE 100 // 存储空间初始分配量 #define STACKINCREMENT 10 // 存储空间分配增量 typedef int SElemType; // 定义栈元素类型 typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等 struct SqStack { SElemType *base; // 在栈构造之前和销毁之后,base的值为NULL SElemType *top; // 栈顶指针 int stacksize; // 当前已分配的存储空间,以元素为单位 }; // 顺序栈
数据结构——栈 的 C语言 实现代码
栈的C语言实现,通过C语言实现常用数据结构栈;通过动手实现栈对学习数据结构以及C语言都有很大的帮助~
c语言数据结构用栈实现四则运算
可以实现小数的四则运算,对我之前上传的那个四则运算的改进,现在与大家分享
背包问题C++用栈解决
C++用栈来解决背包问题 经典数据结构问题 代码精简