题解 | #有序序列判断#

有序序列判断

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个有9个简历差不多的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务