C++ 实现顺序查找算法.docx

上传人:小飞机 文档编号:3153614 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.73KB
返回 下载 相关 举报
C++ 实现顺序查找算法.docx_第1页
第1页 / 共4页
C++ 实现顺序查找算法.docx_第2页
第2页 / 共4页
C++ 实现顺序查找算法.docx_第3页
第3页 / 共4页
C++ 实现顺序查找算法.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++ 实现顺序查找算法.docx》由会员分享,可在线阅读,更多相关《C++ 实现顺序查找算法.docx(4页珍藏版)》请在三一办公上搜索。

1、C+ 实现顺序查找算法实验4 顺序查找算法实现实验 一. 实验目的 1.学生在实习中体会各种查找算法的基本思想、适用场合,理解开发高效算法的可能性和寻找、构造高效算法的方法。 2.掌握运用查找解决一些实际应用问题。 二. 实验内容 用C+描述并实现主要查找算法及其主要操作,其逻辑结构参阅教科书P271/中文版P224。实现要求如下:1)实现顺序查找算法,(参考程序如下) #include using namespace std; typedef int KeyType; / 关键字的类型 const int MAXSIZE=100; / 数组的容量 struct ElemType /学生的记录

2、信息 KeyType key ; /学号 char name10; /姓名 int english; /成绩 int math; /成绩 ; class List public: ElemType *ht; /表数组 int length; /表大小 /KeyType p; / 除留余数法的大质数 public: List( int n1,int p1); Listdelete ht; length=0; /int find( KeyType k ); int search( KeyType k ); /void creat_hash; void PrintOut; ; /- List:Lis

3、t(int n1,int p1) int num=0; length=n1; p=p1; ht=new ElemTypelength; for(int i=0;ilength;i+)hti.key=-1; void List:creat_hash int i,j,K,en,ma;char na10; coutK; while(K!=-1&numlength) coutnaenma; hti.key=K; strcpy(hti.name,na); /用串拷贝赋值 hti.english=en; hti.math=ma; / 插入学生记录K coutn 插入成功! ; num+; coutK; /

4、查询某关键字的记录 int List:search( KeyType k ) for(i=0;ilength;i+) if(K=hti.key) return i; void List:PrintOut int i,j; for (i=0;ilength; i+) if(hti.key!=-1) coutn i=i 学号:hti.key 姓名:hti.name 英语成绩:hti.english 高数成绩:hti.math; int main int p0,n0; coutp0; List ha(n0,p0); ElemType a; int k; char ch; do coutnnn; co

5、utn 1. 建立哈希表 ; coutn 2. 在哈希表中查找某位学生; coutn 3. 输出哈希表; coutn 4. 结束; coutn=; coutk; switch(k) case 1: ha.creat_hash; break; case 2: couta.key; int i=ha.search(a.key); if(i=-1) coutn 此学生a.key 不存在! ; else coutn i=i 学号:ha.hti.key 姓名:ha.hti.name 英语成绩:ha.hti.english 高数成绩:=1&k=3); getchar; return 0; 3、实验结果 4、总结: 1.顺序查找法就如同数组的遍历,从数组的第一个元素开始,检查数组的每一个元素,以便确定是否有查找的数据。 由于是从头检查到尾,所以数组数据是否已经排序已经不重要。 2.动手实践,动脑思考,理论知识要结合熟练操作,这样学习才会记忆深刻。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号