顺序查找算法用函数实现。对任意输入的一个数,在数组中进行查

顺序查找算法用函数实现。对任意输入的一个数,在数组中进行查,第1张

#include<stdio.h>

int findelem(int elem,int *pa,int n)

int main()

{

int i,x,pos

int a[10]={0}

printf("请输入数敏凯组:")

for(i=0i<10i++)

scanf("%d",&a[i])

printf("请输入要查找的数:")

scanf("%d",&x)

pos=findelem(x,a,10)//查找x在数组a中卖扒的位置,10为数组的长度

if (pos>=0)

printf("%d在桥配唤数组的位置为:%d\n",x,pos)

else

printf("%d不在数组中\n")

return 0

}

int findelem(int elem,int *pa,int n)

{

int i

for(i=0i<ni++)

{

if(pa[i]==elem) return(i)

}

if(i>=n) return(-1)

}

查找算法

问题描述:

设计一个实现顺序查找、二分查找(折半查找)、二叉排序树、哈希查找算法的程序,并具有人机交互界面。

基本要求:

(1)设计一个菜单将实现的袭卖查找算法的名字显示出来,并提示用户对查找算法进行选择;

(2)分别实现顺序查找、二分查找(折半查找)、二叉排序树、哈希查找;

(3)哈希函数采用除留余数发,解决冲突的方法大家任选择一种;

(4)二叉排序树必须实现构建、查找、插入、删除四个基本 *** 作;

(5)输出各种排序的结果并进行比较。*/

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#define MAX 20

typedef struct/*顺序结构数据类型*/

h.length++

h.r[ }

else

if(k<l.r[mid].key) high=mid-1

else low=mid +1

}

if(i!=0)

{

printf("l.r[%d].key=%d\n",i,k)

printf("查找成功\n")

}

return ht

}

void HashSearch(RecordHash ht) /*哈希查找*/

{

int k,i

page_title("哈希查找")

printf("请输入要查找的关键字:")

scanf("%d",&k)

i=k%13

if(ht.HashTable[i].key==k)

{

printf("ht.HashTable[%d].key=%d\n",i,k)

printf("查找成功\n")

}

else

{

i=i+1

for(i<MAXi++)

if(ht.HashTable[i].key==k)

{

printf("ht.HashTable[%d].key=%d\n",i,k)

printf("查找成功拍游逗\n")

break

}

if(i==MAX) printf("查找失败\n")

}

return_confirm()

}

void main()

{

RecordList L1,L2

BSTNode *pt

RecordHash ht

int k,i

printf("\n创建顺序查找线性表,输入0则结束输入(可不按顺序输入)\n")

L1=creat1()

printf("\n创建二分查找线性表,输入0则结束输入(按递增顺序输入)\n")

L2=creat1()

printf("\n创建二叉排序树,输入0则结束输入\n")

pt=creat2()

printf("\n创建哈希表\n")

ht=creat3()

menu:page_title("请选择查找方式,输入0则结束输入")

printf("顺序查找请按1\n二分查找请按2\n二叉排序树查找请按3\n哈希查找请按4\n推出请按0\n")

switch(getch())

{

case '1':

SeqSearch(L1)

break

case '2':

Binsrch(L2)

break

case '3':

page_title("二叉排序树查找")

printf("请输入要查找的关键字:")

scanf("%d",&k)

SearchBST(pt,k)

break

case '4':

HashSearch(ht)

break

case '0':

exit(0)

default :

printf("输入错误,按任磨盯意键返回")

getch()

}

goto menu


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12568744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存