冒泡是属于交换排序中的一种,实现比较简单:
#include<stdio.h>
void bubble(int a[],int n);
void main()
{
int a[5]= {12,45,2,13,42};
for(int i=0; i<5; i++)
printf("%d\t",a[i]);
printf("\n");
bubble(a,5);
for(int i=0; i<5; i++)
printf("%d\t",a[i]);
}
void bubble(int a[],int n)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n-i; j++)
{
int temp;
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
冒泡是一种稳定的排序算法,时间复杂度为O(n^2)