冒泡法的基本思路是,如果要对 n 个数进行冒泡排序,那么要进行 n-1 遍比较,在第 1 趟比较中要进行 n-j 次两两比较,在第 j 趟比较中要进行 n-j 次两两比较从这个基本思路中就会发现,趟数决定了两两比较的次数,这样就很容易将两个 for 循环联系起来了,今天小编就来说说关于c语言最简单的冒泡排序?下面更多详细答案一起来看看吧!
c语言最简单的冒泡排序
冒泡法的基本思路是,如果要对 n 个数进行冒泡排序,那么要进行 n-1 遍比较,在第 1 趟比较中要进行 n-j 次两两比较,在第 j 趟比较中要进行 n-j 次两两比较。从这个基本思路中就会发现,趟数决定了两两比较的次数,这样就很容易将两个 for 循环联系起来了。
#pragma mark - 冒泡排序
void bubbleSort(int s[],int length) {
for(int i=0;i<length-1;i ) {
for(int j=0;j<length-i-1;j ) {
if(s[j] > s[j 1]) {
s[j] = s[j] ^ s[j 1];
s[j 1] = s[j] ^ s[j 1];
s[j] = s[j] ^ s[j 1];
}
}
}
}
在main函数进行验证
int a[11], i;
printf("请输入10个数:\n");
for(i=1;i<=10;i ) {
scanf("%d",&a[i]);
}
printf("排序前:\n");
for(i=1;i<=10;i ) {
printf("]",a[i]);
}
printf("\n");
//冒泡排序
bubbleSort(a,10);
printf("排序后:\n");
for(i=1;i<=10;i ) {
printf("]",a[i]);
}
printf("\n");