欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

用头插法和尾插法建立单链表(带头结点)

发布时间:2024/1/1 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 用头插法和尾插法建立单链表(带头结点) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
尾插法建立单链表 LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s,*r=L;//s为要插入的新节点的指针,r为尾指针scanf("%d",&x);while(x!=99)//当输入99时代表链表构建完成{s=(LNode *)malloc(sizeof(LNode));s->data=x;r->next=s;r=s;scanf("%d,&x");}r->next=NULL;return L; } 头插法建立单链表 LinkList List_HeadInsert(LinkList &L) {LNode *s;int x;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;scanf("%d",&x);while(x!=99){s=(LNode*)malloc(sizeof(LNode));s->data=x;s->next=L->next;L->next=s;scanf("%d",&x);}return L; } 完整代码以及遍历结果 #include<stdio.h> #include<stdlib.h> typedef struct LNode {int data;struct LNode *next; }LNode,*LinkList; LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s,*r=L;//s为要插入的新节点的指针,r为尾指针scanf("%d",&x);while(x!=99)//当输入99时代表链表构建完成{s=(LNode *)malloc(sizeof(LNode));s->data=x;r->next=s;r=s;scanf("%d,&x");}r->next=NULL;return L; } LinkList List_HeadInsert(LinkList &L) {LNode *s;int x;L=(LinkList)malloc(sizeof(LNode));L->next=NULL;scanf("%d",&x);while(x!=99){s=(LNode*)malloc(sizeof(LNode));s->data=x;s->next=L->next;L->next=s;scanf("%d",&x);}return L; } void TraverseList(LinkList L)//遍历链表 {LNode* p=L->next;while(NULL!=p){printf("%d ",p->data);p=p->next;}printf("\n");return; } int main() {LinkList L=NULL;List_HeadInsert(L);//List_TailInsert(L);TraverseList(L); } 头插遍历结果 ![头插遍历结果](https://img-blog.csdnimg.cn/20200925191659759.png#pic_center) 尾插遍历结果 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200925191841692.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MTQzNjg3,size_16,color_FFFFFF,t_70#pic_center)

总结

以上是生活随笔为你收集整理的用头插法和尾插法建立单链表(带头结点)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。