1,冒泡排序原理是两两比较相邻的元素,将比较大的元素与小的元素交换位置;如 A,B,C ,第一位置,第二位置,第三位置分别是A,B,C;首先第一位置和第二位置 比较,如果A>B,则A和B交换,反则不交换,接下来是第二位置和第三位置比较,将较大数据和较小数据交换位置,这样第一个最大数据就“冒”了最后位置,接下来对剩余的数据从头进行上诉操作,便可进行排序了。
#include<stdio.h>
void sub(int*array,int len);
int main(int argc,char*argv[])
{
int tt[8]={4,1,3,6,5,8,9,7};
int n,len;
len=sizeof(tt)/4;
printf("len=%d\n",len);
sub(tt,len);
for(n=0;n<len;n++)
{
printf("tt[%d]=%d\n",n+1,tt[n]);
}
return 0;
}
void sub(int*array,int len)
{
int i,j,tmp;
for(i=0;i<len;i++)
{
for( j=0;j<len-i-1;j++)//j=len-i-1是限制对已经排到后面的数据不用再做比较
{
if(array[j]>array[j+1])
{
tmp=array[j+1];
array[j+1]=array[j];
array[j]=tmp;
}
}
}
}