查找综合练习: ** 要求能实现顺序表的三种查找算法:顺序查找,二分查找,散列查找(通过菜单实现)

默认分类 未结 1 547
_california_
_california_ 2023-11-27 09:10
相关标签:
1条回答
  • 2023-11-27 09:48

    你有学过数据结构没有? 你看一下,看了有哪不懂的可以问我! 我再帮你解答,你这一下让我写程序,我没时间写啊! //我暂时就给你写了二分查找的,其它的过两天给你,我没时间写啊,一直都有课#includeusing namespace std;const int size =5;//*****bool find(int num[],int first,int length,int value){ if(first < length || length > 0){ if(value == num[(first+length)/2]) return true; else if( value < num[(first+length)/2]) else } else{ return false; }}//****int _tmain(int argc, _TCHAR* argv[]){ int num[size],first=0,length=size,i,value; cout<<"Input the num : \n"; for(i=0;i>num[i]; cout<<"The searched number: "; cin>>value; if( !find(num,first,length,value) ) cout<<"No found;\n"; else cout<<"Yes found the number\n"; return 0;} // 散列表的!#include using namespace std;int HashSearch1(int ht[ ], int m, int k) { int j=k%m; if (ht[j]==k) return j; //没有发生冲突,比较一次查找成功 int i=(j+1) % m; while (i!=j) { if (ht[i]==k) return i; //发生冲突,比较若干次查找成功 i=(i+1) % m; //向后探测一个位置 } if (i==j) throw "溢出"; else ht[i]=k; //查找不成功时插入}void main(){ int s[11]=; cout<<"散列表中的元素有:\n"; for(int i=0;i<11;i++) { cout<

    自己做

    0 讨论(0)
提交回复