创建单链表的几种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
q->next=NULL;
}
void print(SLNode *head)
{
while(head!=NULL)
{
printf("%4d",head->data);
head=head->next;
}
}
void main()
{ SLNode *h1,*h3,*h4;
h1=creat1();
printf("\n通过return语句创建的单链表:");
q=p=*head;
scanf("%d",&p->data);
while(p->data!=0)
{
p=(SLNode *)malloc(LEN);
scanf("%d",&p->data);
q->next=p;
q=p;
}
q->next=NULL;
}
//通过引用型参数
void creat4(NODE &head)
scanf("%d",&p->data);
q->next=p;
q=p;
}wenku.baidu.com
q->next=NULL;
return head;
}
//通过全局变量
SLNode *head;
void creat2()
{ SLNode *p,*q;
head=(SLNode *)malloc(LEN);
q=p=head;
scanf("%d",&p->data);
printf("\n");
}
# include "stdio.h"
# include "stdlib.h"
# include "malloc.h"
# define LEN sizeof(SLNode)
typedef int DataType;
typedef struct SLNode
{
DataType data;
struct SLNode *next;
{ SLNode *p,*q;
head=(SLNode *)malloc(LEN);
q=p=head;
scanf("%d",&p->data);
while(p->data!=0)
{
p=(SLNode *)malloc(LEN);
scanf("%d",&p->data);
q->next=p;
q=p;
}
}SLNode,*NODE;
//通过return语句
SLNode *creat1()
{ SLNode *head,*p,*q;
head=(SLNode *)malloc(LEN);
q=p=head;
scanf("%d",&p->data);
while(p->data!=0)
{
p=(SLNode *)malloc(LEN);
print(h1);
creat2();
printf("\n通过全局变量创建的单链表:");
print(head);
creat3(&h3);
printf("\n通过指针参数创建的单链表:");
print(h3);
creat4(h4);
printf("\n通过引用型创建的单链表:");
print(h4);
while(p->data!=0)
{
p=(SLNode *)malloc(LEN);
scanf("%d",&p->data);
q->next=p;
q=p;
}
q->next=NULL;
}
//通过指针参数
void creat3(SLNode **head)
{ SLNode *p,*q;
*head=(SLNode *)malloc(LEN);
相关文档
最新文档