基本信息
源码名称:数据结构头插法建立单链表
源码大小:0.14M
文件格式:.rar
开发语言:C/C++
更新时间:2019-10-13
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
本实例是利用c语言来实现单链表的整体输入,其中使用了头插法的方法来实现
//单链表运算算法 #include <stdio.h> #include <malloc.h> typedef char ElemType; typedef struct LNode { ElemType data; struct LNode *next; //指向后继结点 } LinkNode; //单链表结点类型 void CreateListR(LinkNode *&L,ElemType a[],int n) //尾插法建立单链表 { LinkNode *s,*r; L=(LinkNode *)malloc(sizeof(LinkNode)); //创建头结点 L->next=NULL; r=L; //r始终指向尾结点,开始时指向头结点 for (int i=0;i<n;i ) { s=(LinkNode *)malloc(sizeof(LinkNode));//创建新结点s s->data=a[i]; r->next=s; //将结点s插入r结点之后 r=s; } r->next=NULL; //尾结点next域置为NULL } void InitList(LinkNode *&L) //初始化线性表 { L=(LinkNode *)malloc(sizeof(LinkNode)); //创建头结点 L->next=NULL; //单链表置为空表 } void DispList(LinkNode *L) //输出线性表 { LinkNode *p=L->next; //p指向首结点 while (p!=NULL) //p不为NULL,输出p结点的data域 { printf("%c ",p->data); p=p->next; //p移向下一个结点 } printf("\n"); } void CreateListF(LinkNode *&L,ElemType a[],int n) //头插法建立单链表 { LinkNode *s; L=(LinkNode *)malloc(sizeof(LinkNode)); //创建头结点 L->next=NULL; for (int i=0;i<n;i ) { s=(LinkNode *)malloc(sizeof(LinkNode));//创建新结点s s->data=a[i]; s->next=L->next; //将结点s插在原开始结点之前,头结点之后 L->next=s; } } int main() { LinkNode *h; char b[]={'a','b','c'}; printf("单链表的基本运算如下:\n"); printf(" (1)初始化单链表h\n"); InitList(h); CreateListF(h,b,3); DispList(h); return 1; }