[修订]数据结构实验报告线性表的链式表示和实现.docx炉汐理工只联数学与计算科学学院实验报告实验项目名称:线性表的链式表示和实现所属课程名称: 实验日期:2012年4月5号班级:信管10-02班学号:201044070218姓名:张松涛成绩:一、实验概述:【实验目的】、线性表的逻辑结构特征。、总存在第一个和最后一个元素。、除笫一个元素以外,每一个元素总存在唯一一个直接前驱元素。、除最后一个元索以外,每一个元索总存在唯一一个直接后驱元索。、顺序表的特征。、逻辑关系上相邻的物理位置上也相邻。、是一种随机存储结构,可以用一个简单直观的公式来表示每一个元素的地址。学会定义线性表的链式存储类型,实现C程序的基木结构,对线性表的一些基本操作和具体的函数定义。掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。【实验原理】//线性表的单链表存储结构 typedefstructLNode{ElemTypedata;struetLNode*next;}LNode,*LinkList;【实验环境】实验的环境:VC++二、实验内容:【实验方案】编写主函数,调用初始化,建立线性链表的算法以及插入和删除算法。调运行输入数据得岀结果并进行分析。【实验过程】(实验步骤、记录、数据、分析)•include<>tinclude<>RUE1tdefineFALSE0^defineOK1^defineERROR0•defineINFEASIBLE-1tdefineOUERFLOW-2typedeFintStatus;typedefintElemType;typedefstructLNodefElenTppedata;structLNode*next;}LNode9»LinkList;StatusListlnsertML(){LinkListp,s;Mtj;|P=L;while(p&&j<i1)<p-p>nextj;}//if(!p||j>i-DreturnERROR;s-(Linklist)nalloc(sizeof(iNode));s->data-e;s->next-p->next;p->ncxt-5;returnOK;\//I1ct1ncortIStatusListDelete_L(LinlcLlst€,q;intj;P-L;j-O;while(p->next&ftj<i-1)<p=p->nextj;>if(?(p->next)||returnERROR;q=p->next;p->next=q->next;e-q->data;free(q);returnOK;>//ListDelete-LvoidCreateList_L(LinkList&L9intn)inti;LinkListp;Ls(LinkList)mdlIoc(sizeoF(LNode));L・〉nQXt-NULL;for(l-n;i>O;—1)<p・(LinkList)nalloc(sizeof(LHode));scanfC^d",ftp->data);p・;L->next・p;>>//Crpatp|1stJStatusGetElen_L(){Linklistp;intj;p-L->next;j-1;p-p->next;♦♦j;><fPl|j>i)returnERROR;e=p->data;returnOK;>//GetElen_LuoidrMinO<LinkListL9p;intivn;ElenType 元素定义pHntff请输入你如创篷多少个元素的褪表J;scanf(td\ta);〃输亠创建链義的数据个数CreateList_L(Ltn);//^fl用算法2・10for(p-L>next;p?-NULL;p-p>next)〃输岀自己刚才卷入的数据printFC*%d"tp->data);printFCAn*');printFC*^输入想查找第几个元素");scanf(td-t&1);〃古我元怎的位置GetElen_L(L,i,e);//^用算法2・色print*•请输入想左第匚个元素楼置前描入元素J;SCMF(•宅隐旷血忌);〃输入插入兀京的負昆Listlnsert_L(L,i,e>;〃〉、兀素for(p=L->next;pf=NULL;p=p->next)printFC^d•,»p->data);printFCAn-);〃畅出播入后的结果••吾洽X相抑强笙n水三壬・・、・scanFC^d",&i);〃输入姻除元素旳位萱ListDelete_L(L,i,e);//调用算法2・佃For(p=L->next;p?=NU
[修订]数据结构实验报告线性表的链式表示和实现 来自淘豆网m.daumloan.com转载请标明出处.