相邻元素间比较,如果前面一个元素大于后面一个元素,则两者交换,每趟循环找到最大值,循环n次,即可排序完成*
#include <stdio.h>
void swap(int *a, int *b)
{
int t = *a;
*a = *b;
*b = t;
}
void bubbleSort(int arr[], int n)
{
int i, j;
for(i = 0; i < n-1; i++)
{
for(j = 0; j < n-1-i; j++)
{
if(arr[j] > arr[j+1])
{
swap(&arr[j], &arr[j+1]);
}
}
}
}
int main()
{
int i;
int a[10] = {3, 1, 2, 9, 0, 88, 33, 21, 22, 66};
for(i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
bubbleSort(a, 10);
for(i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}