对数组进行排序给定一个数组A,检查它是否按非降序排序

问题描述 投票:0回答:2

给定一个数组 A,检查它是否按非降序排序。

非递减顺序是指序列中的数字可以保持不变或增加,但不能减少。

输入格式

第一个也是唯一的参数包含一个整数数组 A。

输出格式

如果数组已排序,则返回 1,否则返回 0。

输入示例

输入1:

A = [1, 2, 2]

输入2:

A = [1, 2, 1]

输出示例

输出1:

1

输出2:

0

示例说明

解释一:

我们可以看到数组元素是非降序的。

解释2:

第二个元素大于第三个元素,因此数组不是按升序排列,因此未排序。 请帮助我这段代码,我不知道如何解决它。

我尝试使用 for 循环,以防万一使用 if else

sorting
2个回答
0
投票

Python

def is_sort(a):
    f = True
    for i in range(len(a) - 1):
        if a[i] > a[i + 1]:
            f = False
            break
return f

C++

bool is_sort(vector <int> a) {
    bool f = true;
    for (int i = 0; i < a.size() - 1; i++) {
        if (a[i] > a[i + 1]) {
            f = false;
            break;
        }
    }
    return f;
}

类似这样的事情...


0
投票

您没有指定程序的语言,但假设您使用 C 语言执行它,它看起来像这样 :

int is_sorted(char *array)
{
    for (int i = 0, array[i + 1] != '\0', i++) {
        if (array[i + 1] < array[i])
            return 0;
    }
    return 1;
}

该程序将在您作为参数提供的数组上循环。如果下一个数字

array[i + 1]
小于实际数字
array[i]
,则返回 0。如果不满足此条件,我们将在数组末尾退出循环并返回 1(true)。

© www.soinside.com 2019 - 2024. All rights reserved.