链表的基本操作 上机报告.docVIP

  • 17
  • 0
  • 约2.97千字
  • 约 5页
  • 2018-04-17 发布于河南
  • 举报
链表的基本操作 上机报告

华 北 科 技 学 院 上 机 报 告 系(部) 基础部 专业、班级 计算 姓名 学号 *** 课程名称 数据结构(C语言版) 上机题目 链表的基本操作 任课教师 丁智斌 指导教师 丁智斌 成绩(优、良、中、及格、不及格) 华 北 科 技 学 院 基 础 部 一.上机目的 1.定义单链表的结点类型。 2.熟悉单链表的一些基本操作和具体的函数定义。 3.通过单链表的定义掌握线性表的链式存储结构特点。 二.上机环境 Windows XP、Visual C++ 6.0 等 三.上机内容 1.链表的基本操作 源程序或过程: typedef int ElemType; #include iomanip.h #include stdlib.h #includestdio.h struct LinearList { ElemType* list; int size; int MaxSize; }L; void InitList(LinearList L,int ms) { L.list=new ElemType[ms]; if(!L.list) { cerrMemory allocation failure!; exit(1); } L.size=0; L.MaxSize=ms; } void ClearList(LinearList L) { L.list=0; } int ListSize(LinearList L) { return L.size; } bool ListEmpty(LinearList L) { return L.size==0; } bool ListFull(LinearList L) { return L.size==L.MaxSize; } void TraverList(LinearList L) { for(int i=0;iL.size;i++) { coutL.list[i];; } coutendl; } bool FindList(LinearList L,const ElemType item) { for(int i=0;iL.size;i++) if(L.list[i]==item) { item==L.list[i]; return true; } return false; } bool InsertList(LinearList L,const ElemType item,int mark) { if(ListFull(L)) return false; if(mark0) { for(int i=L.size-1;i=0;i--) L.list[i+1]=L.list[i]; L.list[0]=item; } else if(mark0) L.list[L.size]=item; else{ for(int i=0; iL.size;i++) if(itemL.list[i]) break; for(int j=L.size-1;j=i;j--) L.list[j+1]=L.list[j]; L.list[i]=item; } L.size++; return true; } bool DeleteList(LinearList L,ElemType item,int mark) { if(ListEmpty(L)) return false; if(mark0){ item=L.list[0]; for(int i=1;iL.size;i++) L.list[i-1]=L.list[i]; } else if(mark0) item=L.list[L.size-1]; else{ for(int i=0;iL.size;i++) if(L.list[i]==item) break; if(i=L.size) return false; else item=L.list[i]; for(int j=i+1;jL.size;j++) L.list[j-1]=L.list[j]; } L.size--; r

文档评论(0)

1亿VIP精品文档

相关文档