【发布时间】:2021-11-23 21:13:47
【问题描述】:
我正在尝试制作一个不使用 sort 函数对数组进行排序的程序(不适用于对象或结构)。我已经完成了大于一的工作,但是小于一不断将数组中的最大元素更改为一并对其进行错误排序,并且当与大于函数一起使用时,第一个元素变成了一个大数。有人可以帮我解决这个问题还是我的编译器。
void min_sort(int array[], const unsigned int size){
for(int k = 0; k < size; k++) {
for(int i = 0; i < size; i++) {
if(array[i] > array[i+1]){
int temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}
}
}
}
【问题讨论】:
-
当
i==size-1(您的循环最后一次运行)时,i+1超出范围...