《数据结构》上机实验指导书Word下载.docx

上传人:b****1 文档编号:15395024 上传时间:2022-10-30 格式:DOCX 页数:52 大小:604.45KB
下载 相关 举报
《数据结构》上机实验指导书Word下载.docx_第1页
第1页 / 共52页
《数据结构》上机实验指导书Word下载.docx_第2页
第2页 / 共52页
《数据结构》上机实验指导书Word下载.docx_第3页
第3页 / 共52页
《数据结构》上机实验指导书Word下载.docx_第4页
第4页 / 共52页
《数据结构》上机实验指导书Word下载.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

《数据结构》上机实验指导书Word下载.docx

《《数据结构》上机实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《《数据结构》上机实验指导书Word下载.docx(52页珍藏版)》请在冰豆网上搜索。

《数据结构》上机实验指导书Word下载.docx

并针对书上的教学内容,紧密联系实际。

本学期实验计划分为14个实验,期望通过每次上机的训练,能圆满完成每次实验任务,达到实验目的。

三、上机实验语言要求:

上机实验要求用VisualC++6.0。

四、上机实验参考书目要求:

《数据结构》

编著:

陈雁主编

出版:

高等教育出版杜

以该书作为主要参考书目,如有条件,其它书籍辅助更佳。

五、实验步骤须知:

1.问题分析和任务定义:

进行设计前,要求学生明白所需完成的任务是什么,对实验要求有明确了解。

2.上机准备和上机调试

上机前,应熟悉若干最常用的上机与调试命令操作,以便顺利上机,并加快上机速度。

上机的过程,是一个不断发现问题并修正的过程。

调试正确后,认真整理源程序及其注释,优化格式和界面。

3.总结和整理实验报告

实验报告的开头应给出班级、姓名、学号,每次实验报告应包括以下内容:

实验名称、实验目的、实验要求、实验步骤、实验结果或源程序。

为了达到每次的实验目的,使上机实验的效果好,要求每次上机后必须写好实验报告,否则本次上机无成绩。

实验1 DOS界面下的控制台应用程序

一、实验要求:

  

1、通过Appwizard创建一个在DOS界面下运行的控制台应用程序。

2、了解和使用VisualC++6.0的集成开发环境

3、熟悉VisualC++6.0集成开发环境的基本编辑命令及功能键,学会常规窗口操作,熟悉常用功能菜单命令

4、学习完整的C++程序开发过程(编辑、编译、连接、调试、运行及查看结果)。

5、体会所学C语句的用法

二、课时:

2学时:

三、实验内容:

试运行一个简单的C语言程序。

/*案例代码文件名:

EX_1.C*/

/*功能:

一个简单的C语言程序示例*/

#include"

stdio.h"

main()

{

floata,b,area;

a=1.2;

b=3.6;

area=a*b;

printf("

a=%f,b=%f,area=%f\n"

a,b,area);

}

操作步骤:

1.程序的文件虽然只有一个,我们仍使用一个项目来管理它,程序是DOS(Console)程序(控制台程序),不是windows程序。

选VC主菜单File|New进入New对话框。

选其工程页Project中的Win32ConsoleApplication项(表示创建一个控制台应用程序),在Location下指定项目存放的文件夹后在ProjectName下输入项目名exam1(可自定),系统会自动在你指定的文件夹下创建一个项目的文件夹exam1,以后你新建的各个文件都存在此文件夹下。

见下图

按OK按钮,进入下页(如下图)后,按Finish按钮,在出现的对话框中再按OK就创建了一个不包含文件的空项目。

2.从VC主菜单选File(文件)|New(新建)进入New对话框,这时应选File(文件)页,如下图:

选C++SourceFile(添加源文件)在File下名输入文件名exam1(不必输入扩展名),系统会自动加入扩展名.cpp。

注意:

AddtoProject(添加工程)前面的复选框必须选中,否则加入的文件不在项目中。

在VC平台右面的此文件代码编辑区中输入exam1.cpp的内容:

3、编辑运行。

执行“Build”-》“*.exeCtrl+F5”命令或单击!

图标

即可查看程序的运行结果。

实验2顺序表的基本操作的设计与实现

1.目的

掌握顺序表的各种基本操作,包括顺序表的建立、查找、求长度、查找前驱、插入、删除、输出等函数。

2.要求

完成顺序表的各种基本操作,包括顺序表的建立、查找、求长度、查找前驱、插入、删除、输出等函数功能,有助于更好的理解顺序表的概念和用法。

3.解题算法

顺序表的建立,首先要建立一块连续存储的空间。

在C++中可以使用数组来描述线性表的顺序存储结构。

从这个实验开始,程序使用了malloc函数,此函数向系统请求分配内存空间,其参数为申请的内存空间的大小,通常由求字节长度的sizeof函数计算得到空间大小。

申请空间成功时返回指向该空间起始地址的指针(由于malloc默认返回void类型指针,所以要强制类型转换),否则返回NULL指针。

使用此函数,必须包含对应的头文件stdlib.h。

4.实验程序

#include<

stdio.h>

stdlib.h>

#defineOK1

#defineERROR0

#defineOVERFLOW-1

#defineList_INIT_SPACE100//存储空间初始分配量

#defineList_INC_SPACE10//存储空间分配增量

typedefintElemType;

//指定顺序表中数据类型

typedefstruct

{

ElemType*elem;

//存储空间基址

intlength;

intlistsize;

//当前分配的存储容量(以sizeof(ElemType)为单位)

}Sq_List;

/****-------------------------------------*****/

//函数名:

Sq_ListInit(Sq_List&

L)

//参数:

(传入)SqListL,顺序表结构体L,存储线性表相关信息(&

相当

//于传入L的地址)

//返回值:

int型,返回1表示创建成功,0表示失败

//功能:

初始化一个空顺序表

intSq_ListInit(Sq_List&

//在内存中分配空间

L.elem=(ElemType*)malloc(List_INIT_SPACE*sizeof(ElemType));

if(!

L.elem)exit(OVERFLOW);

//存储分配失败

//构造一个空的线性表L//

L.length=0;

L.listsize=List_INC_SPACE;

//初始存储容量

returnOK;

}//函数Sq_ListInit结束

LocateElem(Sq_ListL,inte)

(传入)SqListL,顺序表

//(传入)ElemTypee,定位元素

int型,返回定位位置,0表示失败

在顺序表中定位元素

intLocateElem(Sq_ListL,inte)

inti=1;

//定义线性表指针

int*p=L.elem;

//查找元素e

while(i<

=L.length&

&

*p++!

=e)

++i;

if(i<

=L.length)

returni;

else

returnERROR;

/*求顺序表的长度*/

intGetListLength(Sq_ListL)

{

returnL.length;

}

Sq_ListInsert(Sq_List&

L,inti,ElemTypee)

(传入)SqList&

L顺序表

//(传入)inti插入位置

//(传入)ElemTypee插入元素

1表示成功,0表示操作失败

在顺序表L中的第i个位置前插入新元素

//备注:

i的合法取值为1≤i≤线性表长度+1

intSq_ListInsert(Sq_List&

//判断位置是否合法

1||i>

L.length+1)

printf("

i的值不合法!

\n"

);

return0;

//超出空间进行再分配

if(L.length>

=L.listsize)

int*newspace;

newspace=(ElemType*)realloc(L.elem,(L.listsize+List_INC_SPACE)*sizeof(ElemType));

if(!

newspace)exit(OVERFLOW);

L.elem=newspace;

//新基址

L.listsize+=List_INC_SPACE;

//增加存储容量

int*p,*q;

//定义指向线性表位置i和尾的指针

q=&

(L.elem[i-1]);

//q指针指向插入位置i的前一个

for(p=&

(L.elem[L.length-1]);

p>

=q;

--p)

*(p+1)=*p;

//插入元素之后的元素右移

*q=e;

//把元素e放在位置i处

++L.length;

//线性表长度增1

}//函数Sq_ListInsert结束

Sq_ListDelete(Sq_List&

L,inti,ElemType&

e)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1