| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1785 人关注过本帖
标题:链栈的简单操作 求解 为什么运行不出结果
取消只看楼主 加入收藏
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:4 
链栈的简单操作 求解 为什么运行不出结果
#include <stdio.h>
#include <stdlib.h>
typedef int StackElemType;
typedef struct node
{
    StackElemType data;
    struct node *next;
}LinkStackNode;
typedef LinkStackNode *LinkStack;
void InitLinkStack(LinkStack top);
void Push(LinkStack top,StackElemType x);
int Pop(LinkStack top);
int main()
{
    LinkStack top;
    InitLinkStack(top);
    int i;
    for(i=0;i<10;i++)
        Push(top,i*10);
    for(i=0;i<10;i++)
        printf("%d",Pop(top));   
            
    return 0;
}
void InitLinkStack(LinkStack top)
{
    top=(LinkStack)malloc(sizeof(LinkStack));
    top->next=NULL;
}
void Push(LinkStack top,StackElemType x)
{
    LinkStackNode *p;
    p=(LinkStackNode*)malloc(sizeof(LinkStackNode));
    p->data=x;
    p->next=top->next;
    top->next=p;
}
int Pop(LinkStack top)
{
    if(top->next=NULL)
    {
        printf("表为空\n");
        return 0;
    }
    int a;
    LinkStackNode *temp;
    temp=top->next;
    top->next=temp->next;
    a=temp->data;
    free(temp);
    return a;
}   
搜索更多相关主题的帖子: 操作 int next void top 
2018-04-20 22:31
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
收藏
得分:0 
回复2楼 九转星河
第一种方法我想了一下感觉有理,但是我试了一下还是没有运行出来
void InitLinkStack(LinkStack* top)
{
    *top=(LinkStack)malloc(sizeof(LinkStack));
    (*top)->next=NULL;
   
}
第二种
LinkStack InitLinkStack(LinkStack top)
{
    top=(LinkStack)malloc(sizeof(LinkStack));
    top->next=NULL;
    return top;
}
调用时      top=InitLinkStack(top);
但是依然不能

我排除了一下错误的地方,很有可能是进栈的问题

[此贴子已经被作者于2018-4-20 23:49编辑过]

2018-04-20 23:47
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
收藏
得分:0 
回复 3楼 林月儿
哦哦哦 所以综上所述我的错误是在这两个地方  
 一个是对top的操作无效
二个是top->next=NULL写错了
所以,如果只是改了一个也不能运行出来

非常感谢
2018-04-20 23:55
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
收藏
得分:0 
回复 2楼 九转星河
难不怪我还是运行不出来  哈哈原来如此
 非常感谢 教了我两种对top的有效操作
2018-04-20 23:59
堃周
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2018-4-6
收藏
得分:0 
回复 7楼 九转星河
恩,就是
2018-04-21 11:08
快速回复:链栈的简单操作 求解 为什么运行不出结果
数据加载中...
 
   



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

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