链表是一种动态数据结构,相较于数组而言,链表不需要预留空间,数据可以存储于内存的任何可用的位置,易于扩展。同时,相较于数组,链表增加和删除数据的效率较高,随机读取数据的效率较低。请完成本次实验,体会链表的这些特点。
C语言链表文件的数据操作综合
链表是一种动态数据结构,相较于数组而言,链表不需要预留空间,数据可以存储于内存的任何可用的位置,易于扩展。同时,相较于数组,链表增加和删除数据的效率较高,随机读取数据的效率较低。请完成本次实验,体会链表的这些特点。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 语言-逆行者 2022-12-18 17:23关注
第一题:
#include<stdio.h> #include<stdlib.h> #include<String.h> typedef char ElemType; typedef struct Link{ ElemType str[50]; struct Link *next; }Link; //初始化,创建头结点 Link *initList(Link *L) { L = (Link *) malloc(sizeof(Link));//为头结点分配空间 L->next = NULL;//头结点指针域置空 return L; } //创建指定个数的单链表 Link *createList() { int i; ElemType e[50]; char s[50]="******"; Link *L = initList(L), *r, *n;//分别定义头指针、尾指针、新指针 r = L;//尾指针初始化为头指针 for(;;) { n = (Link *) malloc(sizeof(Link));//申请空间 scanf("%s",n->str); if(strcmp(n->str,s)==0){break;} n->next = NULL;//新指针指针域置空 r->next = n;//将新指针链入单链表末尾 r = r->next;//尾指针往后移 } return L; } void seachLinkLong(Link *L,ElemType e[50]) { Link *r = L->next; for(;r!=NULL;) { if(strlen(r->str)>strlen(e)) { strcpy(e,r->str); } r = r->next;//尾指针后移 } } int main(){ Link*L; ElemType e[50]; L = createList(); seachLinkLong(L,e); printf("%s",e); return 0; }
第二题运行截图:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥20 OPENVPN连接问题