数据结构实验1 顺序表的基本操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3在参考程序的基础上添加插入操作并且对在第2步骤中创建的顺序表l步骤的基础上添加删除操作从顺序表l中删除第i个元素并用e1返回其值
班级
计算数学1102
学号
20110921169
姓名
吴英男
成绩
上机实验题目:实验1顺序表的基本操作
上机实验要求:1、了解实验目的,理解实验内容,读懂参考程序;
2、运行参考程,建立一个顺序表L={12,13,21,24,28,30,42,77};
Outputlist_Sq(L);
printf(“请输入删除位置i=”);
scanf(“%d”,&i);
Listdelete_Sq(L,i,e);
Outputlist_Sq(L);
printf(“请输入要取的第%d个元素:”,i);
scanf(“%d”,&i);
Getelem_Sq(L,i,e);}
}
void main(){//主函数
SqList L1, *L;
Status ret1;
int n,i;
Elemtype e;
L=&L1;
ret1=InitList_Sq(L);
printf("ret1=%d\n",ret1);
printf("L->length=%d,L->listsize=%d\n",L->length,L->listsize);
printf("Please Input n:");
scanf("%d",&n);
InputList_Sq(L,n);
OutputList_Sq(L);
printf(“请输出插入位置i=”);
scanf(“%d”,&i);
printf(“插入数据e=”);
scanf(“%d”,&e);
Listinsert_Sq(L,i,e);
int i;
for(i=0;i<n;i++)
scanf("%d",&(L->elem[i]) );
L->length = n;
}
void OutputList_Sq(SqList *L){ //输出L->elem中的元素
int i;
for(i=0;i<L->length;i++)
printf("%d ",L->elem[i] );
3、在参考程序的基础上,添加“插入”操作,并且,对在第2步骤中创建的顺序表L中的第i个位置前插入元素25;
4、在第3步骤的基础上,添加“删除”操作,从顺序表L中删除第i个元素,并用e1返回其值;
5、在第4步骤的基础上,添加“取元素”的操作,从顺序表L中取第i个元素,并用e2返回其值。
上机实验过程(源代码)
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList;
Status InitList_Sq ( SqList *L ) { //构造一个空顺序表
L->elem = ( ElemType * ) malloc( LIST_INIT_SIZE * sizeof(ElemType) );
#include "stdio.h"
#include "malloc.h"
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
typedef int Status;
typedef int ElemType;
if ( ! L->elem ) return (OVERFLOW); //存储分配失败
L->length = 0;//空表长度为0
L->listsize = LIST_INIT_SIZE; //初始存储容量
return OK;
}//InitList_Sq
void InputList_Sq(SqList *L, int n){ //在L->elem中输入n个元素
运行结果
本次上机调试情况(小结)
相关文档
最新文档