冒泡排序是一种典型的交换排序方法,也称冒泡排序。
比较相邻两个元素的值,不符合规则就进行交换。
冒泡排序的过程:
- 比较相邻的两个元素的值,如果前面的值大于后面的就进行交换;
- 从第一元素依次向后开始比较,一直比较到最后一个元素;
- 经过一次比较以后,最大的值会放在最后一个,对最后一个元素就完成了排序;
- 重复以上步骤,但最后一个元素已经确定位置不用再参与到比较中;
- 持续对剩下越来越少的数据进行比较,直至将所有的数字都完成排序。
#include<stdio.h>
void sort(int a[],int k)
{
int i,j;
for(i = 0;i<k;i++)
{
for(j = 0;j<k-i;j++)
{
if(a[j]>a[j+1])
{
int t;
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
for(int l=1;l<=k;l++)
printf("%d ",a[l]);
}
int main()
{
int a[]={9,8,1,6,5,3,7,11,9};
sort(a,9);
return 0;
}