注册 登录
编程论坛 C++教室

链表的建立,和输出为什么会崩溃,,

未未来 发布于 2013-10-15 16:15, 517 次点击
程序代码:
#include<iostream>
#include"liuyu.hpp"
using namespace std;
int main(){


 liuyu *L;

 build_(L);

 display_(L);
    return 0;

}

程序代码:
#include<iostream>
class liuyu{
public:
    char data;
    liuyu *next;

};
//建立链表
void build_(liuyu *L)
{
    L=new liuyu;
    L->next=NULL;
   liuyu *p;
   p=new liuyu;
    while(std::cin>>p->data){
p->next=L->next;
L->next=p;
  p=new liuyu;
    }

}

//输出链表
void display_(liuyu *L){
liuyu *p=L;
while(p->next!=NULL){

p=p->next;
std::cout<<p->data<<" ";
}
}


按照C语言的数据结构书改动,,无力啊,自己找不出错
3 回复
#2
yuccn2013-10-15 16:50
1 这个注定有内存泄漏的了
void build_(liuyu *L)
{
    L=new liuyu;
    L->next=NULL;
   liuyu *p;
   p=new liuyu;
    while(std::cin>>p->data){
p->next=L->next;
L->next=p;
  p=new liuyu;
    }
}


2

void display_(liuyu *L){
liuyu *p=L;
while(p->next!=NULL){

p=p->next;
std::cout<<p->data<<" ";
// 红色的这两句交互一下位置
}
}
#3
未未来2013-10-15 20:12
回复 2楼 yuccn
汗,主要原因是形参没有设置为引用,学到太多了 忘记前面的了,一位指针的传递也是作用本身的,
#4
longtang2013-10-16 20:42
哎呀   真聪明
1