C语言 | 冒泡排序比较大小


例23:C语言实现从小到大对10个数进行排序,要求使用冒泡排序实现。


解题思路:排序的规律有两种:一种是“升序”,从小到大;另一种是“降序”,从大到小。
源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  int i,j,t;//定义整型变量 
  int array[10];//定义数组大小 
  printf("请输入十个数:");//提示语句 
  for(i=0;i<10;i++)//手动往数组里输入10个数 
  {
    scanf("%d,",&array[i]);//注意&符号 
  } 
  for(j=0;j<9;j++)//外层循环限制 
  {
    for(i=0;i<9-j;i++)//内存循环 
    if(array[i]>array[i+1])//如果前一个数比后一个数大 
    {
      t=array[i]; //把小的数赋值给前面,大的数赋值给后面 
      array[i]=array[i+1];
      array[i+1]=t;
    }
  } 
  printf("按照从小到大的顺序排序:");//提示语句 
  for(i=0;i<10;i++)//循环输出10个数 
  {
    printf("%d ",array[i]);
  } 
  printf("\n");//换行 
  return 0;//函数返回值为0 
}

编译运行结果如下:

请输入十个数:9 8 4 1 6 2 7 4 10 9
按照从小到大的顺序排序:1 2 4 4 6 7 8 9 9 10

--------------------------------
Process exited after 20.46 seconds with return value 0
请按任意键继续. . .

以上就是很著名的“冒泡排序”,也称为“起泡排序”,读者通过此例对以后学习快速排序、堆排序等会有所启示。
留个问题,读者请思考从到小该如何排序呢?

 

C语言 | 冒泡排序比较大小

C语言学习路线   

C语言开发工具


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM