我刚刚学习排序(不是第一次)。在Bubble排序中,我们有以下代码。冒泡排序的外环N值
int bubble_sort(int *arr, size_t n) {
size_t i,j;
for(i=0;i<n;i++) {
for(j=0;j<n-1;j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return 0;
}
如同您所有看到,内部环路具有第(n-1)倍(在循环中),这是可以理解的(A [1],A [I-1]是两个涉及在一次迭代),但外环有我n,但它也适用于我n-1。但大多数在互联网上的实现都有n作为外部循环值。做最坏的情况下,外环n-1工作正常5 4 3 2 1.只是想知道,如果有任何一组输入不适用于n-1次外环。如果有请发布并解释。谢谢。
请注意,经典气泡排序的内部循环有n-i次迭代,而不是n-1。 – amit