#include
struct
chain
{
int
value
struct
chain
*next
}
struct
chain
*create()
{
struct
chain
*head,*tail,*p
int
x
head
=
tail
=
null
while(scanf("%d",&x)==1)
{
p=(struct
chain*)malloc(sizeof(struct
chain))
p->value=x
p->next=null
if(head==null)
head
=
tail
=
p
else
tail=tail->next=p
}
return
head
}
struct
chain
*inlink(struct
chain
*head,int
a,int
b)
//int
a代表要插入的节点,int
b代表创建节点的数据域
{
struct
chain
*p,*q,*s
s
=
(struct
chain
*)malloc(sizeof(struct
chain))
s->value=b
if(head==null)
{
head
=
s
head->next
=
null
}
if(head->value
==
a)
{
s->next=head
head
=
s
}
else
{
p=head
while((p->value!=a)&&(p->next!=null))
{
q=p
p=p->next
}
if(p->value
==
a)
{
q->next
=
s
s->next
=
p
}
else
{
p->next=s
s->next=null
}
}
return
(head)
}
struct
chain
*dellink(struct
chain
*head,int
a)
//int
a代表要删除的节点
{
struct
chain
*q,*p
if(head
==
null)
printf("找不到节点!\n")
else
if(head->value
==
a)
{
p
=
head
head
=
head->next
}
else
{
p=head
while((p->value!=a)&&(p->next!=null))
{
q=p
p=p->next
}
if(p->value
!=
a)
printf("链表不存在此节点!\n")
else
{
q->next
=
p->next
free(p)
}
}
return
(head)
}
void
main()
{
struct
chain
*p,*q
q=create()
//链表的创建;
//q=inlink(create(),3,1)
//链表的插入;
//q=dellink(create(),2)
//链表的删除;
while(q){
//输出链表;
printf("%d\n",q->value)
p=q->next
free(q)
q=p
}
}
#include <stdio.h>#include <stdlib.h>
typedef int elemtype
typedef struct Lnode {
elemtype data
Lnode *next
}Lnode
Lnode *CreatList(Lnode *Head) {
Head = (Lnode *)malloc(sizeof(Lnode))
Head->next = NULL
Lnode *p = Head
printf("请输入元素的个数:")
int i,n
scanf("%d", &n)
for(i = 0 i < n ++i) {
p->next = (Lnode *)malloc(sizeof(Lnode))
printf("请输入第%d个元素:",i + 1)
scanf("%d", &p->next->data)
p = p->next
}
p->next = NULL
return Head
}
void AllList(Lnode *head) {
Lnode *p = head->next
while(p) {
printf("%d ", p->data)
p = p->next
}
printf("\n")
}
int main() {
Lnode *head = NULL
head= CreatList(head)
AllList(head)
return 0
}
typedefstruct
tagLinkList{
int
val
struct
tagLinkList
*next
}LinkList,*pLinkList
void
main()
{
LinkList
*l,*h
l=(pLinkList)malloc(sizeof(LinkList))
scanf("%d",&l->val)
h=l
l=(pLinkList)malloc(sizeof(LinkList))
scanf("%d",&l->val)
h->next=l
printf("1=%d\n",h->val)
l=h->next
printf("2=%d\n",l->val)
}闲的无聊,给你写个测试的,只是引导作用,可以参考