【求助】二分检索法(递归)查找一张扑克牌
请教各位前辈,如何设计一个用二分检索方法查找一张扑克牌的C语言程序?(已给出主函数里面的扑克牌)谢谢!二分检索法:当一个数据序列已经有序时,采用折半检索可以提高检索效率,即假如有序序列中的第一个元素或最后一个元素是要检索的数据,则输出该元素;否则就对1/2出的元素进行测试,若该处的元素是被检索数据,就输出该元素;否则,根据被检索元素是大于还是小于该元素确定新的二分检索区间,重新进行二分检索,该过程是递归的。
主函数:
int main(void)
{
int i,j,card[54],t;
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
card[i*13+j]=100*(i+1)+j+1;
}
card[52]=501;
card[53]=502;
for(i=0;i<54;i++)
printf("card[%d]=%d\t",i,card[i]);
printf("\n");
printf("请输入要查找的牌:");
scanf("%d",&t);
return 0;
}
[ 本帖最后由 mandown1991 于 2011-5-17 14:01 编辑 ]