数据结构实验考核报告 顺序表的实现

发布 2019-07-23 17:13:37 阅读 1994

2011~2023年度第1学期。

实验考核题目:顺序表的实现。

院系: 学号:

姓名: 任课教师:

完成日期:年月日。

一。 预习准备。

1. 实验目的。

(1).理解线性表的概念;

2).理解顺序表存储结构概念和特点;

(3).掌握顺序表存储结构的建立、插入、删除、查询和输出基本操作算法。

2. 实验环境。

widows 操作系统、microsoft visual studio 2008、c++语言。

3. 实验内容和要求。

1)实验内容。

a. 利用switch函数设计一个如下目录。

添加新联系人 ②删除联系人③查找联系人④修改信息 ⑤显示所有联系人⑥关闭通讯录。

b. 建立一个如下所示的班级通讯录:

使用结构体,用顺序表完成以下内容:

a.初始化线性表为空;

b.依次输入数据元素;(由键盘输入);

c.完成数据元素的插入、删除、修改操作;

d.取第i个数据元素;

e.依次显示当前线性表中的数据元素。

2) 实验要求。

掌握顺序表的定义与实现,包括查找、插入、删除算法的实现。

二。 实验过程。

1. 实验中的关键语句。

在整个实验中要执行8个过程:

1).调用构造函数seqlist(),初始化顺序表;

2)输出目录提示,输入相应的序号,调用switch函数来实现相应功能:

①.调用函数 void insert(int i, t x) ,从键盘向顺序表中输入数据元素和位置,并按所输入的位置进行插入;

②.调用函数t delete(int i),删除顺序表中指定位置的数据元素;

③.调用函数void printperson(t x),读取指定姓名的数据元素并显示在屏幕上;

④.调用函数t delete(int i)和void insert(int i, t x) 来实现数据元素的修改。

⑤.调用函数void printlist( )显示当前顺序表中的数据元素在屏幕上;通过这六个过程的执行,完成顺序表的操作。

⑥.调用exit(0)语句,进行退出。

三。 实验总结。

1. 实验程序(详细设计)

1.1主函数部分:(

#include

#include ""

#include

using namespace std;

int main()

int which;

int i;

string num学号。

string name姓名

string phonenum; /**号码

string ***性别

int where位置。

int length顺序表长度。

seqlist a;

addressbook ab;

while (1)

catch(char* wrong)

break;

case 2:

cout<<"n";

cout <<需要删除的联系人的位置"

cin >>where;

trycatch(char* wrong)

break;

case 3:

cout <<请输入联系人姓名:" n";

cin>>name;

length =

for (i=0; i

break;

case 4:

cout<<"n";

cout<<"请选择输入所要修改联系人的位置";;

cin>>where;

cout<<"修改学号:";

cin>>

cout<<"n";

cout<<"修改姓名:";

cin>>

cout<<"n";

cout<<"修改**号码:";

cin>>

cout<<"n";

cout<<"修改性别:";

cin>>

where, ab);

break;

case 5:

break;

case 6:

cout<<"t\t安全退出"< exit(0);

break;

default:break;

1.2函数定义部分:(

#include ""

template

seqlist::seqlist(t a,int n)

int i;

if (n>maxsize) throw "参数非法";

for (i=0; i data[i]=a[i];

length=n;

template

void seqlist::insert(int i, t x)

int j;

if (length>=maxsize) throw "上溢";

if (i<1 ||i>length+1) throw "位置错误";

for (j=length; j>=i; j--)

data[j]=data[j-1];

data[i-1]=x;

length++;

template

t seqlist::get(int i)

if (i>=0 &&i<=length-1)

return data[i];else

template

t seqlist::delete(int i)

int j;

if (length==0 ) throw "下溢";

if (i<1 ||i>length) throw "位置错误";

t x=data[i-1];

for (j=i; j

数据结构实习报告

精选范文 数据结构实习报告 共2篇 一 需求分析1 程序所实现的功能 2 程序的输入,包含输入的数据格式和说明 3 程序的输出,程序输出的形式 4 测试数据,如果程序输入的数据量比较大,需要给出测试数据 5 合作人及其分工。二 设计说明1 主要的数据结构设计说明 2 程序的主要流程图 3 程序的主要...

数据结构实验八内部排序

1 掌握内部排序的基本算法 2 分析比较内部排序算法的效率。1.运行下面程序 include include define max 50 int slist max 待排序序列 void insertsort int list,int n void createlist int list,int n...

数据结构线性表答案

2.1 描述以下三个概念的区别 头指针,头结点,首元结点 第一个元素结点 解 头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表 非空表以及首...