基本思想
n个元素从第一个元素开始依次与后面的元素进行比较,若前一个元素比后一个元素大,则交换顺序,直至最后所有元素被遍历一遍,最大元素被存放在最后,完成一次排序任务。共需要循环 n-1次。
代码
#include<stdio.h>
void Bubble(int a[],int n)
{
int i;
int j;
int temp;
for (i = 1; i <= n - 1; i++)
{
for(j = 0; j <= n-2; j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main(void)
{
int a[] = {2,1,3,0,10,9,3};
int length = sizeof(a) /sizeof(int);
Bubble(a,length);
puts("The sorted num is :");
int i;
for (i = 0; i < length; i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}