欢迎来到天天文库
浏览记录
ID:27524360
大小:146.58 KB
页数:5页
时间:2018-12-03
《c语言链表实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、链表实验报告一、实验名称链表操作的实现一学生信息库的构建二、实验目的(1)理解单链表的存储结构及基本操作的定义(2)掌握单链表存储基本操作(3)学会设计实验数据验证程序【实验仪器及环境】计算机WindowXP操作系统三、实验内容1、建立一个学生成绩信息(学号,姓名,成绩)的单链表,按学号排序2、对链表进行插入、删除、遍历、修改操作。3、对链表进行读取(读文件)、存储(写文件)3、实验要求(1)给出终结报告(包括设计过程,程序)-打印版(2)对程序进行答辩五、实验过程、详细内容1、概念及过程中需要调用的函数(1)链表的概念结点定义结构的递归定义structst
2、ud_nodc{intnum;charname[20];intscore;structstud_node氺next;};_(1)链表的建立1、手动输入structstud_node*Create_Stu_Doc(){structstud_node*head,*p;intnum,score;charname[20];intsize=sizeof(structstud_node);head(num)I(name)(scohead=tail=NULLPt【链表建立流程图】2、从文件中直接获&先建立一个(1)链表的遍历headptrptr990381%80NULLI
3、【链表建立流程图】ptr=ptr->nextptr-〉numptr->score(4)插入结点s->next=ptr->nextptr-〉next=s先连后断(5)删除结点head——ptr1ptr2=ptrl->nextptrl->next=ptr2->nextptrlptr2free(ptr2)(6)动态储存分配函数malloc()void氺malloc(unsignedsize)①在内存的动态存储区中分配一连续空间,其长度为size②若申谞成功,则返回一个指向所分配内存空间的起始地址的指针③若中请不成功,则返冋NULL(值为0)④返回值类型:(void
4、岣•通用指针的一个重要用途•将malloc的返回值转换到特定指针类型,赋给一个指针(7)动态储存释放函数free()当某个动态分配的存储块不再用时,要及吋将它释放voidfree(void*ptr)释放由动态存储分配函数屮请到的整块内存空间,Ptr为指向要释放空间的首地址。(8)链表写入文件(9)链表的读取六、实验总结链表弥补了许多数组的缺点,例如,1、数组在添加新元素吋,如果添加的位置是数组的首部或者数组屮间,那么我们必须设计算法移动相关元索,并且涉及到许多相关元索;2、删除元素时,如采删除的不是尾部元素,同样会移动其他元素。因此使用数组处理大量元素时,会
5、影响程序的整体效率。但是链表在搜索或随机读写
6、Aj部元素的时远不如数组操作起来方便。计算机1403班李彦霖1416010319
此文档下载收益归作者所有