首页 > 代码库 > 冒泡排序

冒泡排序

//思想:一个N个数的数组 ,从第一个数开始如果遇到相邻的俩个数,
//前一个比后一个大就交换这俩个数,所以一趟比较后最后一个数就是最大的数 
//自己先试试看吧 
//在照例求前n-1个数的数组 
#include<stdio.h>
int main()
{

     int a[]={91,45,15,78,84,51,24,12,26,0};
	 int  n=10,t;  //n为a数组的长度 
	for(int i=0;i<n-1;i++)//n-1为比较多少趟,n个数只要比较n-1趟 
	 for(int j=0;j<n-1-i;j++)//n-1-j还要比较多少个数(并不是所有的数还要比较,因为后面就是一个比前面大的数),才能冒出一个最大的数 
	 {
 	   if(a[j]>a[j+1])
		{
	       t=a[j];
	       a[j]=a[j+1];
	       a[j+1]=t;
		}		
 	   	
     }
     for(int i=0;i<10;i++)
     printf("%d ",a[i]);
	
  return 0;	
}