我如何获取它仅打印bubble_sort的最后一个数组,它一直打印出bubble_sort的所有数组编号。
void bubble_sort(int iarr[], int num)
{
int i, j, k, temp;
for (i = 1; i < num; i++)
{
for (j = 0; j < num - 1; j++)
{
if (iarr[j] > iarr[j + 1])
{
temp = iarr[j];
iarr[j] = iarr[j + 1];
iarr[j + 1] = temp;
}
}
printf("\nAfter pass %d : ", i);
for (k = 0; k < num; k++)
{
printf("\t%5d", iarr[k]);
}
}
}
答案 0 :(得分:1)
从print
for loop
中取出您的sort
for loop
。
答案 1 :(得分:0)
将for循环移至for循环之外进行排序。就像
void bubble_sort(int iarr[], int num)
{
int i, j, k, temp;
for (i = 1; i < num; i++)
{
for (j = 0; j < num - 1; j++)
{
if (iarr[j] > iarr[j + 1])
{
temp = iarr[j];
iarr[j] = iarr[j + 1];
iarr[j + 1] = temp;
}
}
}
printf("\nAfter pass %d : ", i);
for (k = 0; k < num; k++)
{
printf("\t%5d", iarr[k]);
}
}
并进行正确的代码格式化以避免此类错误。