资源描述:
《实验报告电子文档.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数学与计算科学学院实验报告实验项目名称线性表的链式表示和表现所属课程名称数据结构实验类型验证性实验实验日期2011.10.27班级信计1001班学号201053100115姓名韩德谦成绩10一、实验概述:【实验目的】1.线性链表是一种动态分布结构,每个结点的指针域指向其直接后继结点,因此指针是线性表的逻辑结构的映像。2.验证线性表的算法,了解算法与程序的区别。【实验原理】1.线性表的链式存储结构是用一组任意的存储单元存储线性表的数据元素。【实验环境】VisualC++6.0二、实验内容:10【实验方案】按实验要求构建程序,进行调试,运行程序,得出结论。【实验过程】(实验步骤、记
2、录、数据、分析)按要求构建程序:#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;typedefintElemtype;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;StatusGetElem_L(LinkListL,inti,ElemType&e){LinkListp;p=
3、L->next;intj;j=1;while(p&jnext;++j;}if(!p
4、
5、j>i)returnERROR;e=p->data;returnOK;}StatusListInsert_L(LinkList&L,inti,ElemTypee){LinkListp,s;p=L;intj;j=0;while(p&&jnext;++j;}if(!p
6、
7、j>i-1)returnERROR;s=(LinkList)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;retur
8、nOK;}StatusListDelete_L(LinkList&L,inti,ElemTypee){LinkListp,q;p=L;intj;j=0;while(p->next&&jnext;++j;}if(!(p->next)
9、
10、j>i-1)returnERROR;q=p->next;p->next=q->next;e=q->data;free(q);returnOK;}voidCreateList_L(LinkList&L,intn){LinkListp;inti;L=(LinkList)malloc(sizeof(LNode));L->next=N
11、ULL;for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));scanf("%d",&(p->data));10p->next=L->next;L->next=p;}}voidmain(){LinkListL;inti=5;LinkListp;CreateList_L(L,i);for(p=L->next;p;p=p->next)printf("%d",p->data);printf("");inte;scanf("%d",&i);GetElem_L(L,i,e);printf("%d",e);printf("");sca
12、nf("%d%d",&i,&e);ListInsert_L(L,i,e);for(p=L->next;p;p=p->next)printf("%d",p->data);printf("");scanf("%d",&i);ListDelete_L(L,i,e);printf("%d",e);printf("");for(p=L->next;p;p=p->next)printf("%d",p->data);}调试中出现的错误:C:DocumentsandSettingsAdministratora.cpp(13):errorC2146:syntaxerror:miss
13、ing';'beforeidentifier'data'C:DocumentsandSettingsAdministratora.cpp(13):errorC2501:'ElemType':missingstorage-classortypespecifiersC:DocumentsandSettingsAdministratora.cpp(13):errorC2501:'data':missingstorage-classortypespecifiersC:Documents