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 描述以下三个概念的区别 头指针,头结点,首元结点 第一个元素结点 解 头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表 非空表以及首...数据结构实习报告
数据结构实验八内部排序
数据结构线性表答案