江西理工大学软件学院
《数据结构C++》课程设计报告
2013—2014学年第一学期
课程名称数据结构C++
设计题目顺序表的实现
专业班级 ppppppppppppppp
姓名 ppppppp
学号 pppppppp
指导教师 ppppppp
2013年 9 月 11 日
实验题目:顺序表的实现
实验目的
掌握线性表的顺序存储结构;
验证顺序表及其基本操作的实现;
理解算法与程序的关系,能够将顺序表算法转换为对应的程序。
实验内容
建立含有若干个元素的顺序表;
对已建立的顺序表实现插入、删除、查找等基本操作。
实现提示
定义顺序表的实验类型——顺序表类SeqList,包括题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。。
简单起见,本实验假定线性表的数据元素为int型,要求学生:
将实验程序调试通过后,用模板类改写;
加入求线性表的长度等基本操作;
重新给定测试数据,验证抛出异常机制。
实验程序
在VC++编程环境下创建一个工程“顺序表验证实验”,,该头文件中包含顺序表类SeqList的定义.
算法设计:
#ifndef SEQLIST_H
#define SEQLIST_H
const int MAXSIZE = 100;
template<class DataType>
class SeqList{
private:
DataType data[MAXSIZE];
int length;
public:
SeqList();
SeqList(DataType a[], int n);
void printList();
int Length();
DataType Get(int i);
int Locate(DataType x);
void Insert(int i, DataType x);
};
#endif
#include<iostream>
using namespace std;
#include""
template<class DataType>
SeqList<DataType>::SeqList(){
length = 0;
}
template<class DataType>
SeqList<DataType>::SeqList(DataType a[], int n){
for(int i = 0; i < n; i++){
data[i] = a[i];
}
length = n;
}
template<class DataType>
void SeqList<DataType>::printList(){
for(int i = 0; i < length; i++){
cout<<data[i]<<" ";
}
cout<<endl;
}
template<class DataType>
int SeqList<DataType>::Length(){
return length;
}
template<class DataType>
DataType SeqList<DataType>::Get(int i){
if(i >= 1 && i <= length)
return data[i - 1];
else
throw "输入不合法";
}
template<class DataType>
int SeqList<DataType>::Locate(DataType x){
for(int i = 0; i < length ; i++){
if(data[i] == x) return i + 1;
}
return 0;
}
template<class DataType>
void SeqList<DataType>::Insert(int i, DataType x){
if(length >= MAXSIZE) throw "表满,不能插入";
if(i < 1 || i > length
顺序表实验报告 来自淘豆网m.daumloan.com转载请标明出处.