gpt4 book ai didi

c - 如何检查整数是否已排序(两侧)

转载 作者:太空狗 更新时间:2023-10-29 16:11:09 26 4
gpt4 key购买 nike

我设法检查一个整数是否是从右到左排序的,但我如何检查从左到右的顺序?也许我应该做 2 个功能,一个从左到右检查,另一个从右到左检查?例如,我将 return 0; 替换为第二个函数,该函数检查它是否从左到右排序。我相信这会奏效。但是有没有另一种方法可以在不使用其他功能的情况下从两端进行检查?

已排序的数字示例:

1234
4321
4332
2334

并且这些没有排序:

1232
4325
4334
2332

最佳答案

此函数检查两个方向:

int IsDigitsInNumberSorted( int num )
{
int leftToRight = 0;
int rightToLeft = 9;
while( num > 0 ) {
const int digit = num % 10;
num = num / 10;
if( leftToRight <= digit ) {
leftToRight = digit;
} else {
leftToRight = 10;
if( rightToLeft == -1 ) {
return 0;
}
}
if( digit <= rightToLeft ) {
rightToLeft = digit;
} else {
rightToLeft = -1;
if( leftToRight == 10 ) {
return 0;
}
}
}
return 1;
}

关于c - 如何检查整数是否已排序(两侧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33982767/

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