for (int index = 0; index < size -1; index ++) {
for (int index2 = 0; index2 < size - index; index2 ++) {
if (index2 != (size - index) && array[index2] > array[index2 + 1] ) {
store = array[index2 + 1];
array[index2 + 1] = array[index2];
array[index2] = store;
printf ("%d",array[index2]);
swap ++;
comparison ++;
}
}
}
这是使用气泡排序算法交换和比较数组元素的代码。它适用于所有情况,但有两个元素的数组除外。
我用C语言编写这个程序。我用指针来声明数组。
例如:
input: [2,0],
output: [0,1]
intput: [3.8],
output: [3,1]
最佳答案
只差一个错误。根据您的代码,第二个循环应该是
for (int index2 = 0; index2 < size - index -1; index2 ++){ ...