#include<stdio.h>
void bubblesort(int a[],int num) {
int temp;
int count=0;
for(int i=0;i<num-1;i++) {
for(int j=i+1;j<num-i-1;j++) {
if(a[i]>a[j]) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
count++;
}
}
}
printf("%d",count);
}
int main() {
int i,j,n=5;
int arr[]={1,2,3,4,5};
bubblesort(arr,n);
return 0;
}
答案 0 :(得分:0)
这似乎是冒泡排序的一个非常标准的实现。但是,有一个错误。
if(a[i]>a[j]) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
count++;
}
i
应该是j+1
。
另外,j
应该从0开始:
for(int j = 0; j < num - i - 1; j++) {
供参考: