C++顺序表查找实验.doc

深 圳 大 学 实 验 报 告 课程名称: 数据结构实验与课程设计 实验项目名称: 顺序查找实验 学院: 计算机与软件学院 专业: 指导教师: 报告人: 学号: 班级: 3班 实验时间: 2012-11-14 实验报告提交时间: 2012-12-5 教务部制 实验目的与要求: 实验目的: 掌握顺序表查找算法的基本思想 掌握顺序表查找算法的实现方法 掌握顺序表查找的时间性能 掌握类的定义和使用 实验要求: 熟悉C++语言编程 了解顺序表查找的原理 了解顺序查找的原理 了解类的定义、应用 方法、步骤: 1、问题描述 在一个关键字序列(未排序)中,顺序查找一个关键字;返回查找是否成功,如果成功,输出关键字所在的位置以及查找次数。 2、顺序查找算法 ⑴、在表的第0位置,赋给定值Key ⑵、从表中最后一个记录开始 ⑶、逐个进行记录的关键字和给定值Key的比较 ⑷、若某个记录比较相等,则查找成功 ⑸、若直到第1个记录都比较不等,则查找不成功 实验过程及内容: Description 1、问题描述 在一个关键字序列(未排序)中,顺序查找一个关键字;返回查找是否成功,如果成功,输出关键字所在的位置以及查找次数。 2、顺序查找算法 ⑴、在表的第0位置,赋给定值Key ⑵、从表中最后一个记录开始 ⑶、逐个进行记录的关键字和给定值Key的比较 ⑷、若某个记录比较相等,则查找成功 ⑸、若直到第1个记录都比较不等,则查找不成功 Input ⑴、第一行:测试次数。 ⑵、每个样本分2行: 第一行:第一个数字m表示样本数目,其后跟m个样本; 第二行:查找的关键字的值。 Output 查找是否成功(1—表示成功,0表示不成功),所在位置(0—表示不成功),查找次数。 Sample Input 2 5 2 4 3 5 7 4 6 2 6 8 4 3 1 7 Sample Output 1 2 4 0 0 7 数据处理分析: 程序代码: #includeiostream using namespace std; /*class LinJie { int vertexnum; char vertex[20]; int arc[50]; int *p; } void juzhen() { cinvertexnum; for(int t=0;tvertexnum;t++) cinvertex[t]; int i,j; for(i=1;i=vertexnum;i++) { for(j=1;j=vertexnum;j++) { cinarc[j]; } } if(arc[j]==1) */ class SeqSearch { public: void CreateSeqList(int *,int); int SeqSearchKey(int); void Output(); private: int ListLen; int SeqList[32]; int SeqSuccess; int SeqPos; int SeqCount; }; void SeqSearch::CreateSeqList(int *r,int n) { int i; ListLen = n; for(i = 1; i = n; i++) SeqList[i] = r[i-1]; } int

文档评论(0)

1亿VIP精品文档

相关文档