预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

顺序表上机实验 一、实验目的与要求 编写程序,实现顺序表各种基本运算,并在此基础上设计一个主程序完成如下功能: 初始化顺序表L; 一次采用尾插法插入a,b,c,d,e元素; 输出顺序表L; 输出顺序表L的长度; 判断顺序表L的是否为空; 输出顺序表L的第4个元素; 输出元素a的位置; 在第4个元素位置上插入f元素; 输出顺序表L; 删除顺序表L的第3个元素; 输出顺序表L; 释放顺序表。 二、实验仪器与设备 安装有VC++6.0环境的计算机一台。 三、实验原理与内容 线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素。因为内存中的地址空间是线性的,因此,物理空间上的相邻实现数据元素之间的逻辑相邻关系既简单又自然。顺序表中插入元素要大量的移动元素,删除也要大量的移动数据元素。 四、实验方法与步骤 //文件名:algo2-1.cpp*/ #include<stdio.h> #include<malloc.h> #defineMaxSize50 typedefcharElemType; typedefstruct { ElemTypedata[MaxSize]; intlength; }SqList; voidInitList(SqList*&L) { L=(SqList*)malloc(sizeof(SqList)); L->length=0; } voidDestroyList(SqList*L) { free(L); } intListEmpty(SqList*L) { return(L->length==0); } intListLength(SqList*L) { return(L->length); } voidDispList(SqList*L) { inti; if(ListEmpty(L))return; for(i=0;i<L->length;i++) printf("%c",L->data[i]); printf("\n"); } intGetElem(SqList*L,inti,ElemType&e) { if(i<1||i>L->length) return0; e=L->data[i-1]; return1; } intLocateElem(SqList*L,ElemTypee) { inti=0; while(i<L->length&&L->data[i]!=e)i++; if(i>=L->length) return0; else returni+1; } intListInsert(SqList*&L,inti,ElemTypee) { intj; if(i<1||i>L->length+1) return0; i--; //将顺序表位序转化为elem下标*/ for(j=L->length;j>i;j--) //将data[i]及后面元素后移一个位置*/ L->data[j]=L->data[j-1]; L->data[i]=e; L->length++; //顺序表长度增1*/ return1; } intListDelete(SqList*&L,inti,ElemType&e) { intj; if(i<1||i>L->length) return0; i--; //将顺序表位序转化为elem下标*/ e=L->data[i]; for(j=i;j<L->length-1;j++) L->data[j]=L->data[j+1]; L->length--; return1; } /*文件名:exp2-1.cpp*/ #include<stdio.h> #include<malloc.h> #defineMaxSize50 typedefcharElemType; typedefstruct { ElemTypedata[MaxSize]; intlength; }SqList; externvoidInitList(SqList*&L); externvoidDestroyList(SqList*L); externintListEmpty(SqList*L); externintListLength(SqList*L); externvoidDispList(SqList*L); externintGetElem(SqList*L,inti,ElemType&e); externintLocateElem(SqList*L,ElemTypee); externintListInsert(SqList*&L,inti,ElemType