| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1060 人关注过本帖
标题:求助。。。栈的操作。。
只看楼主 加入收藏
Sv少
Rank: 3Rank: 3
来 自:山东青岛
等 级:论坛游侠
威 望:1
帖 子:53
专家分:168
注 册:2011-11-7
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>

#define MAX 5

typedef struct{
    int *top;
    int *base;
    int size;
}sqstack;

void initstack(sqstack &s){
//    sqnode *p;
    s.base=(int*)malloc(sizeof(int));
    if(s.base!=NULL)
        s.top=s.base;
        
   
}

int push(sqstack &s,int e){//元素E入栈S
        *s.top=e;
        s.top++;
        ++s.size;
         return 0;
}

int pop(sqstack &s){//元素出栈
    int e;
    e=*--s.top;
    printf("%7d",e);
    return e;
}

int gettop(sqstack s,int e){//用E返回栈的栈顶元素
    if(s.size>0){

        e=*(s.top-1);
    }
    return e;
}
int main(){
    sqstack s;
    int i,e;
    s.size=0;
    initstack(s);
    printf("现在是元素入栈:");
    for(i=1;i<=MAX;i++){
        scanf("%d",&e);
        push(s,e);
    }
   
    printf("它的栈顶元素是%d.\n",gettop(s,e));
    printf("现在是元素出栈:");
    for(i=1;i<=MAX;i++){
        e=pop(s);
        printf("%3d",e);//问题在这里,在出栈输出后,怎么都是‘0’呀?
    }
    printf("\n");
    return 0;        
}        
可以通过引用来改变主函数的栈的内容

Sv少  run
2011-11-12 20:53
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
支持
2011-11-15 17:34
快速回复:求助。。。栈的操作。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016701 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved