返回首页

求C语言折半查找法 代码

121 2023-12-05 13:20 admin

求C语言折半查找法 代码

拿15个静态常量做的测试

#include//要先写 第一个元素的值为0的排除子函数,没写。 int arrange(int x,int a[],int low,int high) { int flag=0; int mid =(low+high)/2; if((high-low)==0 || (high - low) == 1) //二分法排序的最后两种可能 { if(a[mid]==x) return x; else return 0; } int left; int right; left=arrange(x,a,low,mid); //向左 right=arrange(x,a,mid,high); //向右 if(left||right) //整合,有一个非0就是找到值了 return a[left+right]; else return 0; } int main() { int a[]={-8,-5,-2,-1,2,5,8,10,18,21,23,7,9,1,13}; int result,x; printf( {12,14,15,16,2,5,8,10,18,21,23,7,9,1,13} \n); printf(input the number you want:); scanf(%d,&x); result=arrange(x,a,1,15); if( result != 0) printf(%d\n,result); else printf(there is no number!\n); return 0; }

汉诺塔C++代码

#include<stdio.h>

void solve(int num,int z1,int z2,int z3);

void main()

{

int n;

printf(请输入盘子数量:);

scanf(%d,&n);

solve(n,1,2,3);

}

void solve(int num,int z1,int z2,int z3)

{

if(num>0){

solve(num-1,z1,z3,z2);

printf(把%d上的盘子移到%d上\n,z1,z2);

solve(num-1,z3,z2,z1);

}

}

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片