我试着实现冒泡排序算法来排序一个10元素的数组。我试着写下面的代码,它看起来没有错,但是它根本没有排序元素。
有人能给予我一下吗?
这是密码:
'
#include <stdio.h>
#define DIM 10
int main() {
int arr[DIM] = {1, 5, 6, 8, 7, 9, 3, 2, 4, 10};
int tmp;
puts("Original array: ");
for (int i = 0; i < DIM; i++) {
printf("%3d", arr[i]);
}
// Bubble sort
for (int i = 0; i < DIM - 1; ++i) {
for (int j = 0; j < DIM - i - 1; ++j) {
// Compare two elements and swap if first > second
// Use of tmp variable (temporary)
if (arr[i] > arr[i + 1]) {
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
}
}
}
puts("");
puts("Ascending order arrray: ");
for (int i = 0; i < DIM; i++) {
printf("%3d", arr[i]);
}
puts("");
}
'
3条答案
按热度按时间nfg76nw01#
在第二个循环中,应使用
j
而不是i
zbq4xfa02#
在第二个循环体中使用j代替i。'
yx2lnoni3#