标题:数据结构在进栈和出栈的时候有错!!帮忙改一下
只看楼主
l3315534
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2009-12-28
结帖率:50%
已结贴  问题点数:15 回复次数:2 
数据结构在进栈和出栈的时候有错!!帮忙改一下
// Stack.cpp : Defines the entry point for the console application.
//
//头文件包含区
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>

//数据类型定义
struct Node{
    int data;
    Node* next;
};

struct LStack{
    Node* top;
    int length;
};

//操作函数定义
void InitLstack(LStack &ls)
{
    ls.top= 0;
    ls.length = 0;
}

//入栈操作
void PushLstack(LStack &ls, int e)
{   
    Node s;
    s.data = e;
    s.next = 0;

    s.next = ls.top;
    ls.top = &s;
    ls.length++;
}

void PopLstack(LStack &ls, int &e)
{
    if(ls.length<=0)
        return;
    e = ls.top->data;
    Node * p;
    p = ls.top;
    ls.top = ls.top->next;
    ls.length--;
    return;
}

void prinfLstack1(LStack lss)
{
    Node* p = lss.top;
    while(p)
    {
        printf("%d ",p->data);
        p = p->next;
    }
}

void prinfLstack(LStack lss)
{
    int e;
    while(lss.length)
    {
        PopLstack(lss,e);
        printf("%d  ",e);
    }
}

//主函数试验区
int main(int argc, char* argv[])
{
    int k=5;
    LStack lss;
    InitLstack(lss);
    while(k!=-1)
    {
        scanf("%d",&k);
        PushLstack(lss,k);
    }
    prinfLstack1(lss);
    return 0;
}
搜索更多相关主题的帖子: 数据结构 
2010-04-26 19:39
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
得分:5 
在使用指针的时候 要记得初始化
2010-04-27 07:15
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
得分:5 
还有最好使用用户自定义  typedef

Discuz!  
好好学习  天天向上
2010-04-27 08:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304482-1-1.html




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

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