C语言中如何编写递归函数的示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计889个文字,预计阅读时间需要4分钟。
递归(recursive)函数是自身调用自身的函数,无论是否采用直接或间接调用方式。间接递归意味着函数调用另一个函数,而这个函数又调用原函数(可能进一步调用其他函数),最终又回到原函数。因为递归意味着函数层层调用,最终又回到初始函数,形成一个循环。
在例 1 中,递归函数 binarySearch()实现二元搜索算法,在排序好的数组中找到特定元素。首先,该函数根据搜索条件比较数组最中间的元素。如果相同,就返问该元素的指针,表示找到了;如果不相同,该函数会调用自己,在可能存在满足搜索条件的一半数组中搜索,一直递归地进行下去,指导找到满足搜索条件的元素。如果剩下数组的长度为 0,则表示找不到,那么递归就会结束。
函数 binarySearch()
// 函数 binarySearch() 在排序好的数组中搜索 // 参数:需要搜索的元素值;待搜索的long类型数组;数组的长度 // 返回值:指向满足搜索条件的元素的指针,或者为NULL,如果数组中没有元素满足搜索条件。
本文共计889个文字,预计阅读时间需要4分钟。
递归(recursive)函数是自身调用自身的函数,无论是否采用直接或间接调用方式。间接递归意味着函数调用另一个函数,而这个函数又调用原函数(可能进一步调用其他函数),最终又回到原函数。因为递归意味着函数层层调用,最终又回到初始函数,形成一个循环。
在例 1 中,递归函数 binarySearch()实现二元搜索算法,在排序好的数组中找到特定元素。首先,该函数根据搜索条件比较数组最中间的元素。如果相同,就返问该元素的指针,表示找到了;如果不相同,该函数会调用自己,在可能存在满足搜索条件的一半数组中搜索,一直递归地进行下去,指导找到满足搜索条件的元素。如果剩下数组的长度为 0,则表示找不到,那么递归就会结束。
函数 binarySearch()
// 函数 binarySearch() 在排序好的数组中搜索 // 参数:需要搜索的元素值;待搜索的long类型数组;数组的长度 // 返回值:指向满足搜索条件的元素的指针,或者为NULL,如果数组中没有元素满足搜索条件。

