使用冒泡排序法对数组从大到小排列
比较挫的代码写法:
#include<stdio.h>
#include<stdlib.h>
int main()
{
intarr[10] = { 0,1, 2, 3, 4, 5, 6, 7, 8, 9 };
int i = 0;//比较的趟数
int j = 0;//每个数比较的次数
int sz = sizeof(arr) / sizeof(arr[0]);
for(i = 0; i < sz-1; i++)
{
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;
}
}
}
for(i = 0; i< sz ; i++)
{
printf("%-2d", arr[i]);
}
system("pause");
return0;
}
自定义函数:
#include<stdio.h>
#include<stdlib.h>
void bubble_sort(int arr[] , int sz)
{
int i = 0;//比较的趟数
int j = 0;//每个数比较的次数
for(i = 0; i < sz - 1; i++)
{
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;
}
}
}
}
void print_arr(intarr[],intsz)
{
int i = 0;
for(i = 0; i < sz; i++)
{
printf("%-2d", arr[i]);
}
printf("\n");
}
int main()
{
int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr,sz);
print_arr(arr,sz);
system("pause");
return0;
}