通过计数来判断是否有序
针对此题我的想法是:将前一个数和后一个数做差,根据大于小于的情况进行计数,如果计数的情况为n-1,那么就说明此序列两两相减的趋势相同,所以可对其进行是否有序的判断
int main()
{
int i,arr[100],n,cnt1=0,cnt2=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<n-1;i++)
{
if(arr[i]-arr[i+1]>=0)
cnt1++;//降序计数
else if(arr[i]-arr[i+1]<=0)
cnt2++;//升序计数
}
if(cnt1==n-1||cnt2==n-1)//一共n个数,两两相减的到n-1个结果
printf("sorted");
else
printf("unsorted");
}