动态单链表(含文件操作).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态单链表(含文件操作)

动态单链表(含文件操作) //动态单链表(含文件操作)ywmp28link.cpp #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define NULL 0 #include stdlib.h //含exit() #include stdio.h //含FILE #include string.h #include iostream.h #include iomanip.h typedef struct {char sno[6]; //学号 char name[9]; //姓名 float score[5];//语文 数学 英语 综合 总分 }st; typedef int status; typedef st ElemType; //-----线性表的单链表存储结构----- typedef struct LNode {ElemType data; //数据域data struct LNode *next; //指针域next }LNode,*LinkList; void outLNode(ElemType e) {//显示一个给定的结点e int i; coutsetw(7)setiosflags(ios::left)e.sno setw(6)setiosflags(ios::left)e.name; for (i=0;i=4;i++) coutsetw(6)setiosflags(ios::left)e.score[i]; coutendl; } void inputLNode(ElemType e) {//录入一个结点赋给e cout学号:; cine.sno; cout姓名:; cine.name; cout语文 数学 英语 综合:; e.score[4]=0; for (int i=0;i=3;i++) {cine.score[i]; e.score[4]+=e.score[i];} } status CreatList(LinkList L) {//头插法(逆位序)建立带表头结点的单链线性表L LinkList p; FILE *fp; char filename[23]=c:\\cfiles\\,fn1[10]; cout请输入文件名:; cinfn1; strcat(filename,fn1); if ((fp=fopen(filename,rb))==NULL) //打开二进制文件准备读 {coutcannot open file.endl; return ERROR;} L=new LNode; //生成头结点 L-next=NULL; //先建立一个带头结点的单链表 p=new LNode; //分配第一个新结点 if (fread(p-data,sizeof(ElemType),1,fp)!=1) //从文件中读数赋给 {coutFile read error.\n; return NULL;} //链表结点p的数据域 while (!feof(fp)) {p-next=L-next; L-next=p; //插入到表头 p=new LNode; //生成新结点 fread(p-data,sizeof(ElemType),1,fp); //输入元素值 } fclose(fp); return OK; } status createLink(LinkList L) {//从任意二进制文件中读数据尾插法建立带头结点的单链表L LinkList p,r; FILE *fp; char filename[23]=c:\\cfiles\\,fn1[10]; cout请输入文件名:; cinfn1; strcat(filename,fn1); if ((fp=fopen(filename,rb))==NULL) //打开二进制文件准备读 {coutcannot open file.endl; return ERROR;} L=r=new LNode; //生成头结点 p=new LNode; //分配第一个新结点 if (fread(p-data,sizeof(ElemType),1,fp)!=1) //从文件中读数赋给 {coutFile read error.\n; return NULL;} //链表结点p的数据域 while (!feof(fp)) {r-next=p; //新结点p链入表尾 r=p;

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档