实验指导书(赵).doc

实验指导书(赵).doc

ID:57701464

大小:289.50 KB

页数:38页

时间:2020-09-01

实验指导书(赵).doc_第1页
实验指导书(赵).doc_第2页
实验指导书(赵).doc_第3页
实验指导书(赵).doc_第4页
实验指导书(赵).doc_第5页
资源描述:

《实验指导书(赵).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一线性表的基本操作及应用一、实验目的1.通过实际操作掌握定义线性表的顺序存储类型,熟悉线性表的基本操作的算法实现(具体的函数定义),掌握单链表的结点类型的定义及单链表的基本操作算法实现(具体的函数定义)。2.顺序存储和链式存储的应用。二、实验要求1.认真阅读和掌握所给的程序。2.上机运行程序,并对程序进行分析。3.完成自编程序,并上机调试运行。三、实验内容1.建立顺序表,及其基本操作(包括查找、插入、删除等),并且用数据进行测试。(1)建立工程启动VisualC++,选择“文件

2、新建”弹出如图1所示的对话框,选择Project选项卡中的Win32ConsoleApplication选项,在

3、Projectname文本框中输入工程的名字“SeqList”,在Location中输入工程存放的路径,如“D:数据结构实验SeqList”。设置如图1所示。然后选择“OK按钮”,弹出如图2所示对话框,单击“Finish”按钮弹出如图3所示对话框,单击“OK”按钮,则创建工程成功,界面如图4所示。38图1选择新建弹出的对话框图238图338图4(2)创建"common.h"头文件选择“文件

4、新建”弹出如图5所示的对话框,选择“Files”选项卡中的“C/C++HeaderFile”,在“File”文本框中输入头文件的名字“common”,如图5所示。选择“OK”按钮。头文件中包含文件包含命

5、令和宏定义,在“common.h”中输入如下内容:#include#include#include#defineOK1#defineERROR0#defineTRUE1#defineFALSE038图5(3)创建“seqlist.h”头文件“seqlist.h”头文件中主要包含了顺序表的定义以及基本操作。创建方法与创建“common.h”文件相同。“seqlist.h”文件内容如下:#defineElemTypeint#defineMAXSIZE100/*此处的宏定义常量表示线性表可能达到的最大长度*/typedefstruct{Ele

6、mTypeelem[MAXSIZE];/*线性表占用的数组空间*/intlast;/*记录线性表中最后一个元素在数组elem[]中的位置(下标值),空表置为-1*/}SeqList;intLocate(SeqListL,ElemTypee){inti=0;/*i为扫描计数器,初值为0,即从第一个元素开始比较*/38while((i<=L.last)&&(L.elem[i]!=e))/*顺序扫描表,直到找到值为key的元素,或扫描到表尾而没找到*/i++;if(i<=L.last)return(i+1);/*若找到值为e的元素,则返回其序号*/elsereturn(-1);/*若没找到,则返回空

7、序号*/}/*在顺序表L中第i个数据元素之前插入一个元素e。插入前表长n=L->last+1,i的合法取值范围是1≤i≤L->last+2*/intInsList(SeqList*L,inti,ElemTypee){intk;if((i<1)

8、

9、(i>L->last+2))/*首先判断插入位置是否合法*/{printf("插入位置i值不合法");return(ERROR);}if(L->last>=MAXSIZE-1){printf("表已满无法插入");return(ERROR);}for(k=L->last;k>=i-1;k--)/*为插入元素而移动位置*/L->elem[k+1]=L->

10、elem[k];L->elem[i-1]=e;/*在C语言数组中,第i个元素的下标为i-1*/L->last++;return(OK);}38intDelList(SeqList*L,inti,ElemType*e)/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i的合法取值为1≤i≤L.last+1*/{intk;if((i<1)

11、

12、(i>L->last+1)){printf("删除位置不合法!");return(ERROR);}*e=L->elem[i-1];/*将删除的元素存放到e所指向的变量中*/for(k=i;k<=L->last;k++)L->elem[k-1]=L->

13、elem[k];/*将后面的元素依次前移*/L->last--;return(OK);}voidDisplay(SeqListL)/*显示顺序表L中的数据元素*/{inti;for(i=0;i<=L.last;i++){printf("%d",L.elem[i]);}printf("");}(4)创建“seqlist.c”文件完成顺序表的创建、查找、插入、删除等操作。选择“文件

14、新建”弹出如图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。