文档介绍:HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
数据结构C语言版实验报告
数据结构(C语言版) 实验报告
专业:计算机科学与技术、软件工程
学号 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
数据结构C语言版实验报告
数据结构(C语言版) 实验报告
专业:计算机科学与技术、软件工程
学号:_______________________
班级:_________软件二班______________
姓名:________朱海霞______________
指导教师:___刘遵仁________________
青岛大学信息工程学院
2013年10月
实验1
实验题目:顺序存储结构线性表的插入和删除
实验目的:
了解和掌握线性表的逻辑结构和顺序存储结构,掌握线性表的基本算法及相关的时间性能分析。
实验要求:
建立一个数据域定义为整数类型的线性表,在表中允许有重复的数据;根据输入的数据,先找到相应的存储单元,后删除之。
实验主要步骤:
分析、理解给出的示例程序。
调试程序,并设计输入一组数据(3,-5,6,8,2,-5,4,7,-9),测试程序的如下功能:根据输入的数据,找到相应的存储单元并删除,显示表中所有的数据。
程序代码:
#include<>
#include<>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct{
int* elem;
int length;
int listsize;
}Sqlist;
int InitList_Sq(Sqlist &L){
=(int*)malloc(LIST_INIT_SIZE*sizeof(int));
if(! return -1;
=0;
=LIST_INIT_SIZE;
return OK;
}
int ListInsert_Sq(Sqlist&L,int i,int e){
if(i<1||i>+1) return ERROR;
if=={
int *newbase;
newbase=(int*)realloc,+LISTINCREMENT)*sizeof(int));
if(!newbase) return -1;
=newbase;
+=LISTINCREMENT;
}
int *p,*q;
q=&[i-1]);
for(p=&[]);p>=q;--p)
*(p+1)=*p;
*q=e;
++;
return OK;
}
int ListDelete_Sq(Sqlist &L,int i,int e){
int *p,*q;
if(i<1||i>return ERROR;
p=&[i-1]);
e=