题解 | #有序序列判断#

有序序列判断

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

简单粗暴的写法,调用另外一个数组,按照升降序进行排序比对
#include<stdio.h>
#include<string.h>
cmp_asc_int(const void* e1, const void*e2)
{
		return *((int*)e1) - *((int*)e2);    //升序
}
cmp_desc_int(const void* e1, const void*e2)
{
	return *((int*)e2) - *((int*)e1);    //降序
}

int main()
{
	int arr[50] = { 0 }, arr1[50] = { 0 };
	int n = 0, flag = 0, i = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", arr + i);
	}
	memcpy(arr1, arr, n*4);
	if (arr[1] < arr[0])
		qsort(arr1, n, sizeof(int), cmp_desc_int);
	else
		qsort(arr1, n, sizeof(int), cmp_asc_int);
	for (i = 0; i < n; i++)
	{
		if (arr[i] != arr1[i])
		{
			flag = 1;
			break;
		}
	}

	if (!flag)
		printf("sorted\n");
	else
		printf("unsorted\n");
	return 0;
}


全部评论

相关推荐

怎么起名字:早知道就不读书了,害得我送外卖还得扶眼镜
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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