冒泡(起泡)排序是一种比较简单的基本排序,思想:假如我们对10个数进行从小到大排序。思路是将相邻的两个数比较,将小的调到前头,大的数字下沉。
设数组长度为N。
1、N个数排序,需要循环进行N-1趟排序。
2、每一趟的操作步骤:比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换。
3、在第 j 趟排序中要进行N - j 次两两比较。
#include<stdio.h>
void maopao(int array[],int n) //冒泡排序详解
{
int i,j,d;
int temp;
for(i=0;i<n-1;i++) //总共进行了n-1趟排序
{
for(j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])//根据题意交换元素的位置
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
int main()
{
int i;
int array[]={3,1,15,11,89,5};
int size=sizeof(array)/sizeof(int);
//selectsort(array,size);
maopao(array,size);
for(i=0;i<size;i++)
printf("%5d",array[i]);
printf("\n");
return 0;
}