使用C语言创建一个动态链表
2个回答
展开全部
可以用头插法或尾插法
(下面用尾插法)
思想为:让你输入一串字符串,为每个字符创建一个节点,添加到链表的后面.直到输入的字符为@为止.
#include<stdio.h>
#include<malloc.h>
typedefchardatatype;
typedefstructnode
{
datatypedata;
structnode*next;
}linklist;
linklist*p,*q,*head;
main()
{
charc;
head=(linklist*)malloc(sizeof(linklist));
head->next=null;
p=head;
c=getchar();
while(c!='@')
{
q=(linklist*)malloc(sizeof(linklist));
q->data=c;
q->next=null;
p->next=q;
p=p->next;
c=getchar();
}
}
可以在main()最后加上
for(p=head->next;p!=null;p=p->next)
{
printf("%5c",p->data);
}
来测试结果,本人已经tc2.0下面测试通过.
(下面用尾插法)
思想为:让你输入一串字符串,为每个字符创建一个节点,添加到链表的后面.直到输入的字符为@为止.
#include<stdio.h>
#include<malloc.h>
typedefchardatatype;
typedefstructnode
{
datatypedata;
structnode*next;
}linklist;
linklist*p,*q,*head;
main()
{
charc;
head=(linklist*)malloc(sizeof(linklist));
head->next=null;
p=head;
c=getchar();
while(c!='@')
{
q=(linklist*)malloc(sizeof(linklist));
q->data=c;
q->next=null;
p->next=q;
p=p->next;
c=getchar();
}
}
可以在main()最后加上
for(p=head->next;p!=null;p=p->next)
{
printf("%5c",p->data);
}
来测试结果,本人已经tc2.0下面测试通过.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询