当前位置:
首页 >
用头插法和尾插法建立单链表(带头结点)
发布时间: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);
}
头插遍历结果

尾插遍历结果

总结
以上是生活随笔为你收集整理的用头插法和尾插法建立单链表(带头结点)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【转】从题库中随机抽取100道题生成试卷
- 下一篇: 敬业签苹果ios手机便签APP文本中英文