gpt4 book ai didi

c - 如果我发现列表在任何中间点-IN BUBBLE SORT 中排序,如何停止我的进程?

转载 作者:太空宇宙 更新时间:2023-11-03 23:24:53 25 4
gpt4 key购买 nike

#inlcude<stdio.h>
int main()
{
int arr[30],num,i,j,k,temp,l=0;
printf("Enter the number of elements :\n");
scanf("%d",&num);
for(i=1;i<=num;i++)
{
printf("Enter element %d\n",i);
scanf("%d",&arr[i]);
}
for(k=1;k<=num;k++)
{if(arr[k]>arr[k+1])
l++;}
if(l!=0)
{
for(i=2;i<=num;i++)
{l=0;
for(k=1;k<=num;k++)
{
if(arr[k]>arrk+1])
l++;}
if(l!=0)
{for(j=1;j<num;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
printf("\nAfter pass %d elements are:",i-1);
for(k=1;k<=num;k++)
printf("%d",arr[k]);}
else
break;
}
}
printf("\nsorted list is:\n");
for(k=1;k<=num;k++)
printf("%d ",arr[k]);
retrun 0;
}

这是冒泡排序程序。我的查询是,如果我发现我的列表在任何中间点排序,我需要停止我的进程。我什至做到了......但是这个程序仍然存在一些问题。它没有在门户中被接受,它在程序为“错误答案”时触发。我猜可能是找中间点的时候出错了。帮我弄清楚这个..

最佳答案

您可以设置一个标志并检查列表是否按如下方式排序:

for(i=0; i ......
{
flag=1; // We are setting a "break point" here by setting flag=1; If any exchange of elements take place inside if loop, flag will be
//set back to zero inside the if block statements.
for(j=0; j ......
{
if (a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=0; // flag is set back to zero because there occured an "exchange of element"
}
}
}

关于c - 如果我发现列表在任何中间点-IN BUBBLE SORT 中排序,如何停止我的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29714962/

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