#include<stdio.h>
int main()
{
int arr[] = {0,2,3,6,8,4,7,9,5,1};
int i , j , temp;
for(i = 0; i < 9; i++)
{
for(j = 0; j < 9-i; j++)
{
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(i = 0; i < 10; i++)
{
printf("%d",arr[i]);
}
return 0;
}
运行结果为:
0123456789
用函数进行封装:
#include<stdio.h>
#include<assert.h>
void BubbleSort(int* arr, int len)
{
assert(arr != NULL && len > 0);
bool flag;
for(int i = 0; i < len - 1; i++)
{
flag = false;
for(int j = 0; j < len - 1 - i; j++)
{
if(arr[j] > arr[j + 1])
{
flag = true;
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
if(flag == false)
{
break;
}
}
}
int main()
{
int arr[] = {3,2,4,5,6};
int len = sizeof(arr)/sizeof(arr[0]);
BubbleSort(arr , len);
for(int i = 0; i < len; i++)
{
printf("%d", arr[i]);
}
return 0;
}
运行结果为:
23456