gpt4 book ai didi

c - 递归检查数组是否按升序排列

转载 作者:行者123 更新时间:2023-11-30 20:52:17 25 4
gpt4 key购买 nike

如果数组按升序排列,我应该返回 -1。

否则,我应该返回第一个“破坏”升序的索引。

该函数应该是递归的。

请帮忙;)谢谢

最佳答案

递归函数

  • 如果数组按升序排列,则返回 -1
  • 返回第一个失败的项目的索引(意味着 < a[i-1])
  • 仅采用两个参数

算法

int recur(int *a, int n) {
static int i=0;
if (i >= n-1) return -1;
if (a[i] > a[i+1]) return i+1;
return i++, recur(a, n);
}

从评论中编辑:可以多次调用的函数(不可重入)

int recur(int *a, int n) {
static int i=0;
if (i >= n-1 || a[i] > a[i+1]) {
int ret = (i >= n-1 ? -1 : i+1);
i = 0;
return ret;
}
return i++, recur(a, n);
}

关于c - 递归检查数组是否按升序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com