题解 | #有序序列判断#

有序序列判断

https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

//判断是否有序
bool IsOrder(int *a, int size)
{
    //降序
    if(a[0] >= a[1])
    {
        //也要降序
        for(int i = 0; i < size - 1; i++)
        {
            if(a[i] < a[i + 1])
                return false;
        }
    }
    else 
    {
        //升序
        for(int i = 0; i < size -1; i++)
        {
            if(a[i] > a[i + 1])
                return false;
        }
    }
    return true;   
}

int main() 
{
    int n = 0;
    scanf("%d", &n);
    int* a = (int*)malloc(sizeof(int) * n);
    for(int i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    //判断是否有序
    if(IsOrder(a, n))
        printf("sorted");
    else
        printf("unsorted");
    
    return 0;
}

全部评论

相关推荐

投递小天才等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务