问题1:使用递归倒叙输出数字
输入 : 12345
输出 : 54321
void ReversePrint(int a)
{
if (a <= 0)
{
printf("\n");
return;
}
printf("%d", a % 10);
ReversePrint(a / 10);
}
问题2:无序数组的查询(递归)
int Find_ar(int* ar, int pos, int len,int val)
{
if (ar[pos] == val)
return pos;
else if (pos == len)
return -1;
return Find_ar(ar, ++pos, len, val);
}
问题3:有序数组折半查找(递归和循环)
int Binary(int* ar, int val, int left,int right)//递归
{
int mid = (int)((left + right)*0.5);
if (ar[mid] == val)
{
return mid;
}
else if (ar[mid] > val)
{
return Binary(ar, val, left, mid - 1);
}
else if (ar[mid] < val)
{
return Binary(ar, val, mid + 1, right);
}
return -1;