我想使用气泡排序方法进行作业,但它不起作用,我找不到错误
void bubbleSort(int arr[], int n)
{
int i,j;
for (i = 0; i < n-1; i++)
// last i elements are already in place
for (j = 0; j < n-i; j++)
if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);
}
有人可以帮助我吗?预先感谢
答案 0 :(得分:2)
请注意,第二个循环停止条件应为n-i-1
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n - 1; i++)
// Last i elements are already in place
for (j = 0; j < n - i - 1; j++) // **Added n - i - 1**
if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);
}
有关气泡排序的更多信息,请点击此处:Link