C语言冒泡排序
#include<stdio.h>
//二维数组
//冒泡排序:
void bubble_sort(int arr[],int sz)
{
int i = 0;
for (i = 0;i < sz - 1;i++)//确定执行的趟数sz-1趟
{
int j = 0;
for (j = 0;j < sz-1-i;j++) //确定一趟里面执行的元素个数
{
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[] = { 9,8,7,6,5,4,3,2,1,0 };//排成升序 需要9趟 (n-1趟)n为元素个数
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr,sz);//冒泡排序 arr是数组,对arr进行传参的时候传递过去的是arr首元素的地址。所以须在外面算好元素个数之后再将其传递过去
for (int i = 0;i < sz;i++) {
printf("%d ", arr[i]);
}
return 0;
}

浙公网安备 33010602011771号