顺序表的操作实验报告-馒头制作_第1页
顺序表的操作实验报告-馒头制作_第2页
顺序表的操作实验报告-馒头制作_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2PAGE3实验二顺序表的操作实验报告班级10计科2学号20104012010姓名翁朝伟实验名称顺序表的操作实验目的掌握线性表的顺序存储结构的基本概念、基本操作和应用实验环境硬件环境:微型计算机软件环境:Windows2000或以上版本,turboc2.0实验内容1.创建顺序表,顺序表的元素的值由用户从键盘输入。2.在已经创建的顺序表中插入一个元素。从键盘读入元素值和插入位置,在指定的位置前插入。3.在已经创建的顺序表中删除一个元素。从键盘读入欲删除的元素位置,在指定的位置删除元素。实验步骤及结果线性表的插入线性表的删除#include<stdio.h>#defineOK1#defineERROR0#defineElemTypeint#defineLIST_INT_SIZE100#defineLISTINCREMENT10typedefstruct{ ElemType*elem; intlength; intlistsize;}SqList;intInitList_Sq(SqList*L){L->elem=(ElemType*)malloc(LIST_INT_SIZE*sizeof(ElemType));if(!L->elem)returnOK;L->length=0;L->listsize=LIST_INT_SIZE;returnOK;}intListInsert_Sq(SqList*L,inti,ElemTypee){ElemType*p,*q,*newbase;if(i<1||i>L->length+1)returnERROR;if(L->length>=L->listsize){newbase=(ElemType*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)returnERROR;L->elem=newbase;L->listsize+=LISTINCREMENT;}q=&(L->elem[i-1]);for(p=&(L->elem[L->length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L->length;returnOK;}intmain(){ SqList*L; inti,e; if(!InitList_Sq(L))returnERROR; printf("Pleaseinputthelengthofthelist(1-100):"); scanf("%d",&L->length); for(i=0;i<L->length;i++) scanf("%d",&L->elem[i]); printf("TheoldSqlistis:\n"); for(i=0;i<L->length;i++) printf("%d",L->elem[i]); printf("\nPleaseinputthelocationtoinsert(1toL->length+1):\n"); scanf("%d",&i); while(i<1||i>L->length+1) { printf("Pleaseinputthelocationtoinsert(1to11):\n"); scanf("%d",&i);} printf("Pleaseinputtheintegertoinsert(eg,58):"); scanf("%d",&e); if(ListInsert_Sq(L,i,e)){ printf("ThenewSqlistis:"); for(i=0;i<L->length;i++) printf("%d",L->elem[i]);}}#include<stdio.h>#defineOK1#defineERROR0#defineElemTypeint#defineLIST_INT_SIZE100#defineLISTINCREMENT10typedefstruct{ ElemType*elem; intlength; intlistsize;}SqList;intInitList_Sq(SqList*L){L->elem=(ElemType*)malloc(LIST_INT_SIZE*sizeof(ElemType));if(!L->elem)returnOK;L->length=0;L->listsize=LIST_INT_SIZE;returnOK;}intListDelete_Sq(SqList*L,inti,ElemTypee){ElemType*p,*q;if(i<1||i>L->length)returnERROR;p=&(L->elem[i-1]);e=*p;q=L->elem+L->length-1;for(++p;p<=q;++p)*(p-1)=*p;--L->length;returnOK;}intmain(){ SqList*L; inti,e; if(!InitList_Sq(L))returnERROR; printf("Pleaseinputthelengthofthelist(1-100):"); scanf("%d",&L->length); for(i=0;i<L->length;i++) scanf("%d",&L->elem[i]); printf("TheoldSqlistis:\n"); for(i=0;i<L->length;i++) printf("%d",L->elem[i]); printf("\nPleaseinputthelocationtooutsert(1toL->length-1):\n"); scanf("%d",&i); while(i<1||i>L->length+1) { printf("Pleaseinputthelocationtoinsert(1toL.length-1):\n"); scanf("%d",&i); } if(ListDelete_Sq(L,i,e)) { printf("ThenewSqlistis:"); for(i=0;i<L->length;i++) printf("%d",L->elem[i]); }}运行结果:运行时,它会提示“Pleaseinputthelengthofthelist(1-100):”我们就可以输入一个值为1-100中的任意一个数。比如我这里输入“5”.这时会让你输入5个数(你上面输入的是多少,就要输入几个数)我们就输入1-5。输完后,它会重复你输入的数。这时会出现“Pleaseinputthelocationtoinsert(1toL->length+1):”这里就是要你输入你要插入的位置,比如我这里输入“2”.这时就会出现“Pleaseinputtheintegertoinsert(eg,58):”这个就是提示你要插入的数为多少,我这里就输入“11”。那么结果就会是这样的“ThenewSqlistis:1112345”运行结果:运行时,它会提示“Pleaseinputthelengthofthelist(1-100):”我们就可以输入一个值为1-100中的任意一个数。比如我这里输入“10”.这时会让你输入10个数(你上面输入的是多少,就要输入几个数)我们就输入1-10。输完后,它会重复你输入的数。这时会出现“Pleaseinputthelocationtooutsert(1toL->length+1):”这里就是要你输入你要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论