数据结构顺序
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
实验报告总结
实验报告(《数据结构》适用)实验一 顺序表、单链表基本操作的实现
肇庆学院 计算机学院/软件学院
实 验 报 告
专业计算机科学与技术 班级 科技1班 姓名 付治齐 学号 201324131151课程名称 数据结构
学年 学期 1 / 2? 课程类别 专业必修 限选? 任选? 实践? 评分: 批阅老师: 2014年 10月30 日 实验一 顺序表、单链表基本操作的实现
? 实验目的
1、顺序表
(1)掌握线性表的基本运算。
(2)掌握顺序存储的概念,学会对顺序存储数据结构进行操作。
(3)加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力。
2、链表
(1)掌握链表的概念,学会对链表进行操作。
(2)加深对链式存储数据结构的理解,逐步培养解决实际问题的编程能力。
? 实验内容
1、顺序表
(1)编写线性表基础操作问题。
(2)调用上述函数实现基础的线性表操作。
(3)
„„
2、链表
(1)编写链表基础操作函数。
(2)调用上述函数实现链表的基础操作。
(3)
„„
? 实验结果
1、顺序表
(1)画出数据结构基本运算的流程图
(2)程序运行主要结果截图
(3)程序源代码
#includestdio.h
#includestdlib.h
#includemalloc.h
struct LinearList
{
};
typedef struct LinearList LIST; void InitList(LIST *L,int ms) {
}
int InsertList(LIST *L,int item,int rc) {
int *list; int size; int MaxSize; if((L-list=(int*)malloc(ms *sizeof(int)))==NULL){} L-size=0; L-MaxSize=ms; printf(内存申请错
误~\n); exit(1); int i; if(L-size=L-MaxSize) return-1; if(rc0) rc=0; if(rcL-size) rc=L-size;
}
L-list[i+1]=L-list[i]; L-list[rc]=item; L-size++; return 0;
void OutputList(LIST *L) {
}
int FindList(LIST *L,int item) {
}
int DeleteList1(LIST *L,int item) {
int i; for(i=0;iL-size;i++)printf(%d ,L-list[i]); printf(\n); int i; for(i=0;iL-size;i++) if(item==L-list[i]) return i; return -1; int i,n; for(i=0;iL-size;i++) if(item==L-list[i]) break; if(iL-size){
}
} L-list[n]=L-list[n+1]; L-size--; return i; return -1;
int DeleteList2(LIST *L,int rc) {
}
void main()
{
int i,n; if(rc0||rc=L-size) return -1; for(n=rc;nL-size-1;n++)
L-list[n]=L-list[n+1]; L-size--; return 0; LIST LL; int i,r; printf(list
addr=%p\tsize=%d\tMaxSize=%d\n,LL.list,LL.size,LL.MaxSize);
InitList(&LL,100); printf(list addr=%p\tsize=%d\tMaxSize=%d\n,LL.list,LL.size,LL.MaxSize);
while(1) { printf(请输入元素值,输入0结束插入操作:); fflush(stdin); scanf(%d,&i);
篇二:数据结构实验报告顺序表
选课时间段:周四6、7、8、9
序号:
实验报告
课程名称: 数据结构
实验名称:顺序表的实现
指导教师:
学生姓名:
学生学号:
实验日期: 2013年4月11日
一、实验目的
1、 熟悉实验环境
2、 理解顺序表的基本操作
3、 了解顺序表的建立和输出
4、 掌握顺序表的插入、删除、合并和归并等实现方法
二、实验内容
三、实验步骤
1(需求分析
本演示程序用C语言编写,完成顺序表的生成,任意位置的插入、删除,以及确定某一元素在顺序表中的位置。
? 输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数。
? 输出的形式:在所有三种操作中都显示操作是否正确以及操作后顺序表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。
? 程序所能达到的功能:完成顺序表的生成(通过插入操作)、插入、删除、查找操作。
? 测试数据:
A( 插入操作中依次输入11,12,13,14,15,16,生成一个顺序表
B( 查找操作中依次输入12,15,22返回这3个元素在顺序表中的位置
C( 删除操作中依次输入2,5,删除位于2和5的元素
2(概要
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
1)为了实现上述程序功能,需要定义顺序表的抽象数据类型: ADT LinkList { 数据对象:D={ai|ai?IntegerSet,i=0,1,2,?,n,n?0}数据关系:R={ai,ai+1|ai,ai+1 ?D} 基本操作:InitLinkList(&L)
操作结果:构造一个空的顺序表L.InsLinkList(&L,pos,e)初始条件:顺序表L已存在
} 操作结果:将元素e插入到顺序表L的pos位置 DelLinkList(&L,pos,&e) 初始条件:顺序表L已存在 操作结果:将顺序表L中pos位置的元素删除,元素值置入e中返回 LocLinkList(L,e) 初始条件:顺序表L依存在 操作结果:顺序表L中查找是否元素e,若存在,返回元素在表中的位置;若不存 在,返回-1. Menu() 操作结果:在屏幕上显示操作菜单 2)本程序包含7个函数: ? 主函数main() ? 初始化顺序表函数InitLinkList()
? 显示操作菜单函数menu() ? 显示顺序表内容函数dispLinkList() ? 插入元素函数InsLinkList() ? 删除元素函数DelLinkList() ? 查找元素函数LocLinkList()
3(详细设计
实现概要设计中定义的所有的数据类型,对每个操作给出C代码算法。对主程序和其他模块也都需要写出C代码算法。
1) 结点类型和指针类型
,,,,,,,,,,,,
2) 顺序表的基本操作
bool InitLinkList(LinkList &L) (C代码算法) void DispLinkList(LinkList L) (C代码算法) void menu() (C代码算法) bool InsLinkList(LinkList &L,int pos,int e) (C代码算法) bool DelLinkList(LinkList &L,int pos,int &e) (C代码算法) int
LocLinkList(LinkList L,int e) (C代码算法)
3) 其他模块C代码算法
4(使用
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
程序名为,,,,,,,,.exe,运行环境为DOS。程序执行后显示 ======================== 0----EXIT 1----INSERT
2----DELETE 3----LOCATE ======================= SELECT:
在select后输入数字选择执行不同的功能。
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
首先输入足够多的插入元素,才可以进行其他的操作。每执行一次功能,就会显示执行的结果(正确或错误)以及执行后顺序表的内容。
选择0:退出程序 选择1:显示“INSERT pos,e =” , 要求输入要插入的位置和元素的值(都是整数)。 选择2:显示“DELETE pos =” , 要求输入要删除元素的位置,执行成功后返回元素的值。 选择3:显示“LOCATE e = ” , 要求输入要查找元素的值,执行成功后返回元素在表中的位置
6(测试结果
1) 建立顺序表:
? 选择1,分别输入(0,11),(0,12),(0,13),(0,14)(0,15)。得到顺序表(15,14,13,12,11)
2) 插入:
? 选择1输入(1,100),得到顺序表(15,100,14,13,12,11)
? 选择1输入(-1,2),显示输入错误
? 选择1输入(7,2),显示输入错误
? 选择1输入(6,2),得到顺序表(15,100,14,13,12,11,2)
3) 删除:
? 选择2,输入1。返回e=100,得到顺序表(15,14,13,12,11,2) ? 选择2,输入0。返回e=15,得到顺序表(14,13,12,11,2)
? 选择2,输入4。返回e=2,得到顺序表(14,13,12,11)
? 选择2,输入5。返回输入错误
4) 查找
? 选择3,输入14。返回pos=0
? 选择3,输入100。返回输入错误
四、实验总结(结果分析和体会)
篇三:数据结构实验报告-2-1-线性表(顺序表实现)
实验2.1 线性表(顺序表实现)的基本操作及其应用
一、实验目的
1、帮助读者复习C语言程序设计中的知识。
2、熟悉线性表的逻辑结构。
3、熟悉线性表的基本运算在顺序表结构上的实现。
(来自:www.XIelw.Com 写 论文网:数据结构顺序表实验报告总结) 4、掌握顺序表的存储结构形式及其描述和基本运算的实现。
二、实验内容
[问题描述]
实现顺序表的建立、求长度,取元素、修改元素、插入、删除等顺序表的基本操作。
[基本要求]
(1)实现顺序表初始化操作;
(2)实现插入元素的操作;
(3)实现删除元素的操作;
(4)实现更改元素的操作;
(5)实现获取顺序表长度的操作;
(6)实现获取元素的操作。
[代码
模板
个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载
]
1.顺序表数据类型:
#define ListSize 10
typedef int DataType;
typedef struct{
DataType data[ListSize];
int length;
}SeqList;
三、源代码
void initList(SeqList * L)
{
L=(SeqList*)malloc(sizeof(SeqList));
L-length=0;
}
void insertList(SeqList * L, DataType x, int i)
{
int j;
for (j=L-length-1; j=i-1; --j)
L-data[j+1]=L-data[j];
L-data[i-1]=x;
++L-length;
}
void deleteList(SeqList * L, int i)
{
int j;
for (j=i; jL-length; ++j)
L-data[j-1]=L-data[j];
--L-length;
}
void updateList(SeqList * L, DataType x, int i)
{
L-data[i-1]=x;
}
int getLength(SeqList * L)
{
return L-length;
}
DataType getElem(SeqList * L, int i)
{
return L-data[i-1];
}
四、测试结果
2
五、心得体会
因为已经给了模板,所以我只需要将函数填好就可以了,同时帮助我复习C语言程序设计中的知识。熟悉线性表的逻辑结构和顺序表的存储结构形式及其描述和基本运算的实现。
3