数据结构中申请一个节点的有关问题,初始化如何就不成功呢?
数据结构中申请一个节点的问题,初始化怎么就不成功呢????
链式存储结构申请节点并初始化,不能执行,执行的时候说要调试呀??怎么回事.
运行不通过,不知道什么地方错了??????
#include <iostream>
using namespace std;
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;
void InitList(LinkList *L);
void CreatFromHead(LinkList L);
void InitList(LinkList L)
{
L=new Node;
L->next=NULL;
}
void CreatFromHead(LinkList L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
cout<<"qifskfj"<<endl;
cin>>c;
if(c!='^')
{
s=new Node;
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
void main()
{
LinkList L;
InitList(L);
CreatFromHead(L);
}
------解决方案--------------------
虽然InitList函数声明中是传地址引用,但是后面的函数实现以及函数调用都是传值引用吧?
------解决方案--------------------
没有弄清楚指针,改写代码:
链式存储结构申请节点并初始化,不能执行,执行的时候说要调试呀??怎么回事.
运行不通过,不知道什么地方错了??????
#include <iostream>
using namespace std;
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;
void InitList(LinkList *L);
void CreatFromHead(LinkList L);
void InitList(LinkList L)
{
L=new Node;
L->next=NULL;
}
void CreatFromHead(LinkList L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
cout<<"qifskfj"<<endl;
cin>>c;
if(c!='^')
{
s=new Node;
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
void main()
{
LinkList L;
InitList(L);
CreatFromHead(L);
}
------解决方案--------------------
虽然InitList函数声明中是传地址引用,但是后面的函数实现以及函数调用都是传值引用吧?
------解决方案--------------------
没有弄清楚指针,改写代码:
- C/C++ code
#include <iostream> using namespace std; typedef struct Node { int data; struct Node *next; }Node,*LinkList; void InitList(LinkList *L); void CreatFromHead(LinkList L); void InitList(LinkList *L) { *L=new Node; (*L)->next=NULL; } void CreatFromHead(LinkList L) { Node *s; char c; int flag=1; while(flag) { cout < <"qifskfj" < <endl; cin>>c; if(c!='^') { s=new Node; s->data=c; s->next=L->next; L->next=s; } else flag=0; } } void main() { LinkList L; InitList(&L); CreatFromHead(L); }