先搞个结点
typedef struct node
{
int data;
struct node *next;
} node;
建立链表
先看下头插法,头结点与新结点之间一直往头插就得事
//头插法
int main()
{
node *L,*p,*q;
int i;
L=(node*)malloc(sizeof(node));
L->next=NULL;
for(i=0;i<5;i++)
{
p=(node *)malloc(sizeof(node));
p->data=i;
p->next=L->next;
L->next=p;
}
q=L->next;
while(q!=NULL)
{
printf("%d ",q->data);
q=q->next;
}
return 0;
}
头插法也太叛逆了吧,咱顺着逻辑搞个尾插法试试
//尾插法
int main()
{
node *L,*p,*q,*r;
int i;
L=(node*)malloc(sizeof(node));
r=L;
L->next=r;
for(i=0;i<5;i++)
{
p=(node *)malloc(sizeof(node));
p->data=i;
L->next=p;
L=p;
}
L->next=NULL;
q=r->next;
while(q!=NULL)
{
printf("%d ",q->data);
q=q->next;
}
return 0;
}
宿舍熄灯了,不想写了,拜拜,下次见
本文介绍了链表数据结构,并通过C语言代码展示了头插法和尾插法创建链表的过程。头插法从头部插入新节点,而尾插法则在链表末尾添加节点。示例代码详细展示了两种方法的具体实现。

1万+

被折叠的 条评论
为什么被折叠?



