这里是在冒泡排序中,需要比较相邻的两个元素的大小,并决定是否需要交换。改写冒泡排序的程序,其中至少包含两个函数:bubble_sort(int a[], int n)和swap,bubble_sort用于将数组a中的n个元素排序,其中调用函数swap来交换两个数
#include <stdio.h>
void swap(int *a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void bubble_sort (int a[],int n) {
int temp;
int i,j;
for (i=0;i<n-1;i++)
for (j=0;j<n-1-i;j++) {
if (a[j]>a[j+1]) {
swap(a+j,a+j+1);
}
}
}
int main(){
int a[666],n,i;
printf("请输入排序的元素个数:\n");
scanf("%d",&n);
printf("请输入排序的元素:\n");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
bubble_sort(a,n);
for (i=0; i<n; i++)
printf ("%d\t",a[i]);
return 0;
}
用函数交换元素要使用指针,不然只会交换形参