资源描述:
《单链表的基本操作实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程名称:数据结构与算法成绩评定:湖南第一师范学院信息科学与工程系实验报告实验项目名称:单链表的基本操作指导教师:学生姓名:沈丽桃学号:10403080118专业班级:10教育技术实验项目类型:验证实验地点:科B305实验时间:2011年10月20日一、实验目的与要求:实验目的:实现线性链表的创建、查找、插入、删除与输出。基本原理:单链表的基本操作二、实验环境:(硬件环境、软件环境)1.硬件环境:奔ⅣPC。2.软件环境:WindowsXP操作系统,TC2.0或VC++。三、实验内容:(原理、操作步骤、程序代码等)#include#inclu
2、de#includestructcelltype{intelement;structcelltype*next;};typedefintposition;voidmain(){structcelltype*head,*p;intx,choice;voidINSERT(intx,structcelltype*p);voidLOCATE(intx,structcelltype*p);voidDELETE(intx,structcelltype*p);p=(structcelltype*)malloc(sizeof(stru
3、ctcelltype));head=p;p->element=0;p->next=NULL;printf(“Pleaseoption:1:Insert2:Locate3:Delete”);printf(“Pleasechoose:”);scanf(“%d”,&choice);switch(choice)case1:printf(“Pleaseinputanode:”);scanf(“%d”,&x);p=head;INSERT(x,p);for(p=head;p!=NULL;p=p->next)printf(“%d”,p->element);printf(
4、“”);break;case2:printf(“Pleaseinputthedatayouwanttolocate:”);scanf(“%d”,&x);p=head;LOCATE(x,p);break;case3:printf(“Pleaseinputthedatayouwanttodelete:”);scanf(“%d”,&x);DELETE(x,p);for(p=head;p!=NULL;p=p->next)printf(“%d”,p->next);printf(“”);break;}voidINSERT(intx,structcelltype*
5、p){structcelltype*t,*q;q=(structcelltype*)malloc(sizeof(structcelltype));q->next=x;while((x>p->element)&&(p!=NULL)){t=p;p=p->next;}if((x>p->element)&&(p->next!=NULL)){p->next=q;q->next=NULL;}else{q->next=p;t->next=q;}}voidLOCATE(intx,structcelltype*p){while(p->next!=NULL)if(p->next
6、->element==x)printf(“thenumber%disin%d”,x,p);elseprintf(“thenumbernotexist!”);}voidDELETE(intx,structcelltype*p){while((p->element!=x)&&(p->next!=NULL)){t=p;p=p->next;}if(p->element==x)t->next=p->next}errorC2018:unknowncharacter’Oxal’errorC2065:’Please’:undeclaredidentifiererro
7、rC4024:’printf’:differenttypesforformalandactualparameter1errorC4047:’function’:’const*differsinleversofindirectionfrom’int’errorC2146:syntaxerror:missing’)’beforeidentifier’option’errorC2017:illegalescapesequenceerrorC2059:syntaxerror:’)’errorC2143:syntaxerror:missing’)’before’%’出
8、现了很多错误,主要是因为printf里的一对双引号不