篇一 :数据结构上机实验报告

实验一:线性表的基本操作

【实验目的】

学习掌握线性表的顺序存储结构、链式存储结构的设计与操作。对顺序表建立、插入、删除的基本操作,对单链表建立、插入、删除的基本操作算法。

【实验内容】

1.      顺序表的实践

1) 建立4个元素的顺序表s=sqlist[]={1,2,3,4,5},实现顺序表建立的基本操作。

2) 在sqlist []={1,2,3,4,5}的元素4和5之间插入一个元素9,实现顺序表插入的基本操作。

3) 在sqlist []={1,2,3,4,9,5}中删除指定位置(i=5)上的元素9,实现顺序表的删除的基本操作。

2.      单链表的实践

3.      1) 建立一个包括头结点和4个结点的(5,4,2,1)的单链表,实现单链表建立的基本操作。

2) 将该单链表的所有元素显示出来。

3) 在已建好的单链表中的指定位置(i=3)插入一个结点3,实现单链表插入的基本操作。

4) 在一个包括头结点和5个结点的(5,4,3,2,1)的单链表的指定位置(如i=2)删除一个结点,实现单链表删除的基本操作。

5) 实现单链表的求表长操作。

【实验步骤】

1.打开VC++。

2.建立工程:点File->New,选Project标签,在列表中选Win32 Console Application,再在右边的框里为工程起好名字,选好路径,点OK->finish。至此工程建立完毕。

3.创建源文件或头文件:点File->New,选File标签,在列表里选C++ Source File。给文件起好名字,选好路径,点OK。至此一个源文件就被添加到了你刚创建的工程之中。

4.写好代码

…… …… 余下全文

篇二 :数据结构上机实验答案

《数据结构实验指导书》答案

实验一:

1、 请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单元的值的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。

#include <stdio.h>

int fun(int *a, int *b)

{

if (*a*(*b)>0) return(1);

else return(0);

}

main()

{

int x,y;

scanf("%d%d",&x,&y);

if (fun(&x,&y)) printf("yes\n");

else printf("no");

}

2、 计算1+2+3+??+100,要求用指针进行设计。即设计函数int fun(int *n)实现求1+2+3+??+*n,在主函数中输入、调用、输出结果。

#include <stdio.h>

int fun(int *n)

{

int i,sum=0;

for (i=1;i<=*n;i++)

sum+=i;

return(sum);

}

main()

{

int x,sum;

scanf("%d",&x);

printf("the sum is %d\n",fun(&x));

}

3、 函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函 1

数fun、输出结果。

#define N 10

#include <stdio.h>

void input(int *a,int n)

…… …… 余下全文

篇三 :数据结构上机实验报告

《空间数据结构基础》 上机实验报告(2012

姓名班级 地信12-1 学号 07122857

环境与测绘学院 级)

实验报告1

C++面向对象程序设计范例

1. 二维坐标点point的C++描述

【实验目的】用面向对象的方法定义一个简单的抽象数据结构,本例实验内容为坐标点的数据结构。学会如何用C++语言描述数据结构和算法,理解将数据集和在此数据集上的操作分开描述的方法。

调试程序及分布编程的方法

以下是平面直角坐标系中的点的类定义,main()函数对类Point的属性和操作进行测试。

#include <iostream.h>

class Point{ //平面直角坐标系中的点

private:

double x; //水平坐标值 double y; //垂直坐标值

public:

Point(){x = 0; y = 0; }//缺省构造函数 Point(double px,double py){x = px;y = py;}//带参数的构造函数 void move(double mx,double my){x = mx;y = my;}//移动位置(修改坐标值)

};

void main(){

Point a,b(12.5,34.8); //建立两个Point对象 cout<<"点a的位置:"; void Show(){cout<<"x="<<x<<' '<<"y="<<y<<endl;}//输出坐标值

} a.Show(); //输出点a的坐标值 cout<<"点b的位置:"; b.Show(); //输出点b的坐标值 a.move(45.6,57.8); cout<<"点a移动后的位置:"; a.Show(); //输出点a的坐标值

…… …… 余下全文

篇四 :数据结构第一次上机实验报告

数据结构第一次上机实验报告(线性表)

                          

实验要求:

1、          实现顺序表结构的创建、插入、删除、查找等操作;

2、          利用上述顺序表操作实现如下程序:建立两个顺序表表示的集合(集合中无重复的元素),并求这样的两个集合的并、交和

源程序:

//C++实现

//visual studio 2010下编译通过

#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

const size_t MaxSize=20;//顺序表初始分配量

class SqList//顺序表类

{

    //privata:

    int data[MaxSize];

    int length;//顺序表长度

public:

    void InitList();//初始化

    void CreatList(int a[],int n);//创建

    void SearhList();//查找

…… …… 余下全文

篇五 :数据结构上机实验报告

                 

计算机科学与技术学院

《数据结构教程》实验报告

   ( 20## / 2015  学年 第 2 学期)

学生姓名:             

学生专业:            

学生班级:           

学生学号:       

                            

2015/6/5


               实验报告

一.    设计人员相关信息

姓名: 学号: 班级: 设计日期:20##年6月5日

上机环境:Visual C++ 6.0

二.程序设计相关信息

1. 实验题目

…… …… 余下全文

篇六 :数据结构上机报告实验一

《数据结构》上机报告

_______________

姓名__________     学号___________     同组成员 ___________

1.     实验题目及要求

实验一、编写一个程序,实现顺序表的各种基本运算,并在此基础上完成以下功能:

1)   初始化顺序表;

2)   依次采用尾插入法插入a,b,c,d,e元素;

3)   输出顺序表L;

4)   输出顺序表L的长度;

5)   判断顺序表L是否为空;

6)   输出顺序表L的第三个元素;

7)   输出元素a的位置;

8)   在第4个元素位置上插入f元素;

9)   输出顺序表L;

10)  删除L的第3个元素;

11)  输出顺序表L;

12)  释放顺序表。

2.     需求分析

首先初始化顺序表

(1)   依次采用尾插入法插入a,b,c,d,e元素

输入参数的格式和合法取值范围:依次输入a,b,c,d,e,用逗号分隔。

输出格式:按顺序显示abcde元素。

测试数据:依次插入a,b,c,d,e元素后,显示顺序表长度abcde。

(2)       输出顺序表长度,判断其是否为空,并输出L的第三个元素和元素a的位置

输入参数的格式和合法取值范围:输入顺序表a,b,c,d,e,用逗号分隔。

输出格式:按顺序显示:顺序表的长度为多少

…… …… 余下全文

篇七 :数据结构实验报告格式1

数据结构实验报告格式

实验1线性表的基本操作

一、实验目的

1.掌握使用VC++上机调试线性表的基本方法;

2.掌握线性表的基本操作:插入、删除、查找等运算在顺序和链式存储结构上的实现。

二、实验内容

线性表的基本操作的实现

三、实验要求

1.认真阅读和理解本实验的程序。

2.上机运行调试本程序。

四、写出该程序的功能和运行结果。

五、实验总结

(在实验中遇到了哪些问题,如何解决的)

六、实验评价(教师)

实验2 栈和队列的基本操作

一、实验目的

1深入了解栈的特性,掌握栈和队列的各种基本操作。

二、实验内容

栈和队列在顺序存储结构下的各种基本操作

三、实验要求

1.认真阅读和掌握本实验的算法。

2.上机将本算法实现

2.上机运行写出的程序,并且独立调试通过。

四、写出该程序的功能和运行结果。

五、实验总结

(在实验中遇到了哪些问题,如何解决的)

六、实验评价(教师)

实验3 串及其应用

一、实验目的:

本次实验的目的是熟悉串类型的实现方法和文本模式匹配方法。

二、实验内容

实现串的模式匹配算法

三、实验要求

1.认真阅读和掌握本实验的算法。

2.写出程序并上机运行本程序。

(源程序)

四、写出该程序的输入和运行结果

五、实验总结

(在实验中遇到了哪些问题,如何解决的)

六、实验评价(教师)

实验4 二叉树

一、实验目的

本次实验的目的是熟悉树的各种物理表示方法及各种遍历方式 (其中以二叉树为侧重点),了解树在计算机科学及其他工程中的应用。

二、实验内容

1.二叉树的建立

2.遍历二叉树 (递归和非递归形式)

三、实验要求

1.认真阅读和掌握本实验的算法。

2.写出程序并上机运行程序。

四、写出程序的输入和运行结果

五、实验总结

(在实验中遇到了哪些问题,如何解决的)

六、实验评价(教师)

…… …… 余下全文

篇八 :数据结构上机实验指导书

第一部分 算法与数据结构课程实验概述

一.实验目的

《算法与数据结构》是计算机专业的主干课程和必修课程之一,其目的是让大家学习、分析和研究数据对象特征,掌握数据组织方法和计算机的表示方法,以便选择合适的数据逻辑结构和存储结构,设计相应的运算操作,把现实世界中的问题转化为计算机内部的表示与处理的方法,要求掌握算法的时间、空间复杂度分析基本技术,培养良好的程序设计风格,掌握进行复杂程序设计的技能。在计算机科学领域,尤其是在系统软件和应用软件的设计和应用中要用到各种数据结构,因此,掌握数据结构对提高软件设计和程序编制水平有很大的帮助。

二.实验要求

2.1实验步骤

    设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。因此必须严格执行良好的实验步骤规范(包括上机操作规范)。本课程实验的基本步骤是:

   2.1.1问题分析

    充分地分析和理解问题本身,明确问题要求做什么。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如;输入、输出数据的类型、值的范围以及形式等。同时为调试程序准备好测试数据,包含合法的输入数据和非法形式输入的数据。

2.1.2设计和编码

设计即是对问题描述中涉及的操作对象定义相应的数据类型,定义主程序模块和各抽象数据类型;定义相应的存储结构并写出各过程和函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试。

    编码即把详细设计的结果进一步求精为程序设计语言程序,写出源程序。对程序中的疑问应作出记号,以便上机时注意解决。每个明确的功能模块程序一般不超过60行,程序的每一行不得超过60个字符,否则要进一步划分。

    2.1.3上机前程序静态检查

…… …… 余下全文