链表的建立~求助~~
猫123 2012-03-14 09:42:23 #include "iostream.h"
#include "stdlib.h"
#define NULL 0
typedef int DataType; //假设结点的数据类型是字符
typedef struct node
{
DataType no;
struct node *next;
}ListNode;
ListNode * CreateList()
{
int x;
ListNode *p,*q,*head;
p=head=q=(ListNode *)malloc(sizeof(ListNode));
cout<<"请输入链表结点值:"<<endl;
cin>>x;
while(x!=0)
{
p=(ListNode *)malloc(sizeof(ListNode));
p->no=x;
q->next=p;
q=p;
cin>>x;
}
p->next=NULL;
head=head->next;//删除头结点
return head;
}
void PrintList(ListNode *p)
{
cout<<"当前链表结点值为:"<<endl;
while(p!=NULL)
{
cout<<p->no<<" ";
p=p->next;
}
}
main()
{ ListNode *p;
p=CreateList();
PrintList(p);
}
里面的 p->no=x;是啥意思啊? no的作用是什么。 是建立一个头结点吗?
请大家帮帮。