void selectsort(int *a, int size) { for (int i = 0; i < size; i++) { int minfoot = 0; for (int j = 0; j < size - i - 1; i++) { minfoot = a[j] > a[j + 1] ? j : j + 1; } int temp = a[size - 1 - i]; a[size - 1 - i] = a[minfoot]; a[minfoot] = temp; } }
时间: 2023-11-22 10:56:43 浏览: 69
用java实现选择排序SelectSort
这段代码是选择排序的实现,但是其中有一个小错误,就是第二个for循环中的 i 应该改成 j,否则会导致死循环。正确的代码如下:
```c++
void selectsort(int *a, int size) {
for (int i = 0; i < size; i++) {
int minfoot = 0;
for (int j = 0; j < size - i - 1; j++) {
minfoot = a[j] > a[j + 1] ? j + 1 : j;
}
int temp = a[size - 1 - i];
a[size - 1 - i] = a[minfoot];
a[minfoot] = temp;
}
}
```
这样就可以正确地进行选择排序了。
阅读全文