一,题目描述
使用函数实现一个冒泡排序,使数组中的元素由小到大依次排列。
本题所给数组为arr[]={1,2,6,4,9,8,7}
二,代码
#include<stdio.h>
void bubble_sort(int arr[], int sz) //arr是一个数组,sz表示数组中的元素个数
{
int i=0;
for(i = 0; i < sz - 1; i++){//一共循环sz-1趟
int j=0;
for(j = 0; j < sz - 1 - i; j++){ //每一趟一共循环sz-1-i次
if(arr[j] > arr[j + 1]){ //如果 arr[j] > arr[j + 1],则交换
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main(){
int arr[] = {1, 2, 6, 4, 9, 8, 7};
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组中的元素个数
bubble_sort(arr, sz);//调用函数
int i=0;
for(i = 0; i < sz; i++){
printf("%d ", arr[i]);//输出结果
}
printf("\n");
return 0;
}