#include <stdio.h>
int main(void) {
int a[5]={1,2,0,5,4},i,j,c;
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++){
if(a[j]>a[j+1])
{
c=a[j];
a[j]=a[j+1];
a[j+1]=c;
}
}
}
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
return 0;
}
ideone說 「時間超過限制時間:5記憶:2048信號:24」冒泡排序ideone期限超過
,但它工作正常,在渦輪編譯
想想這一點:一旦內環已在或索引之前完成了所有的元素'i'應該進行排序。這意味着你的內循環應該從'i + 1'到最後一個元素('j <5'),並且你應該交換元素'i'和'j'。 –