冒泡排序法

#include<stdio.h>
void main()
{
int a[10];   //定义一个数组既它的元素为10
int i,j,temp;     //定义3个变量
printf("输入10个整数:
a");
for(i=0;i<10;i++)
   scanf("%d",&a[i]); //依次输入10个整数
for(i=0;i<9;i++)      //进行9轮排序
{
   for(j=0;j<9-i;j++) //每轮进行9-i次交换
   if(a[j]>a[j+1])  //(>升序,<降序)
   {
      temp=a[j];
      a[j]=a[j+1];   //大的沉底,小的上浮
      a[j+1]=temp;
   }
}
printf("排序结果:");
for(i=0;i<10;i++)   //依次输出排序结果
   printf("%d	  ",a[i]);
}
/*
冒泡排序(假设升序):外层循环的循环次数和:就是求每一次最大值的次数之和(把每一次求最大值当作一次次数);
          内层循环的循环次数和:就是在每一次求最大值中两两进行比较大小的次数和
eg:假设求6个数进行升序排大小
           外层循环的循环次数   内层循环的循环次数
              (共6-1次)             
求最大值:      第一次:          5次          
                第二次:          4
                第三次:          3
                第四次:          2
                第五次:          1
*/
原文地址:https://www.cnblogs.com/gqs92/p/6802552.html