数据结构实验报告
1.实验目的(结出本次实验所涉及并要求掌握的知识点)
1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。
2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。
2.实验内容(结出实验内容具体描述)
1. 建立一个含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。
2. 往该顺序表中第i位置插入一个值为x的数据元素。
3. 从该顺序表中第j位置删除一个数据元素,由y返回。
4. 从该顺序表中查找一个值为e的数据元素,若找到则返回该数据元素的位置,否则返回“没有找到”。
3.算法描述及实验步骤(用适当的形式表达算法设计思想与算法实现步骤)
1.编写头文件。定义数据类型。
2.编写主函数。
4.调试过程及运行结果(详细记录在调试过程中出现的问题及解决方法。记录实验执行的结果)
5. 总结(对实验结果进行分析,问题回答,实验心得体会及改进意见)
存储地址必须为相连的地址
6.附录(程序源代码等)
#include <stdio.h>
#include <stdlib.h>
typedef struct k{
int d;
struct k *n;
}node;
void printlist(node *h)
{
node *p;
for(p=h->n; p!=NULL; p=p->n)
printf("%d, ",p->d);
}
void inputNums(node *h)
{
int x;node *q,*tail;
printf("\nInput some nums, end by -1:");
scanf("%d",&x);
tail=h;
while (x!=-1)
{
q=(node *)malloc(sizeof(node));
q->d=x; q->n=NULL;
tail->n=q;
tail=q;
scanf("%d",&x);
}
}
void deleX(node *h, int x)
{
node *p,*pre;
p=h->n;pre=h;
while(p!=NULL)
{
if(p->d==x)
{
p=p->n;pre->n=p;
}
else
{
p=p->n;pre=pre->n;
}
}
}
main()
{
node *h;int x;
h=(node *)malloc(sizeof(node));
h->n=NULL;
inputNums(h);
printlist(h);
printf("\nInput dele num:");
scanf("%d",&x);
deleX(h,x);
printlist(h);
}
第二篇:数据结构实验报告 线性表的顺序表示和实现
数学与计算科学学院
实 验 报 告
实验项目名称 :线性表的顺序表示和实现
所属课程名称 : 数据结构A
实 验 类 型 : 验证性
实 验 日 期 : 2012年4月5号
班 级 : 信管10-02班
学 号: 201044070218
姓 名: 张松涛
成 绩 :
附录1:源 程 序
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:简要说明本实验项目所涉及的理论知识。
4.实验环境:实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):根据实验过程中得到的结果,做出结论。
8.实验小结:本次实验心得体会、思考和建议。
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。