对于刚刚进入大学的我来说,数组是一个大大的坑,跳进去em......就进去了;因为学习了排序,所以就整理一下数组排序的方

法。——起泡法排序

使用起泡法对n个整数进行升序排列

所谓起泡法:就是从前到后依次比较相邻的两个数,如果前面的数大,则进行交换,经过一轮又一轮的比较最后一个数就

是最大的,然后对剩余的序列进行相同的操作。

下来看代码

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d",&n);//输入进行比较的整数的个数
    int a[n];
    int i,j,t;
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("\n");
    for(j=1;j<n;j++)//外循环控制排序趟数,比内循环少一趟。
    {
        for(i=0;i<n;i++)//进行比较,逆序则交换
        {
            if(a[i]>a[i+1])//互换位置
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%d",a[i]);
    }
    printf("\n");
    return 0;
}

输入

6

9 8 5 4 2 0

输出

024589

这就是起泡法的大致流程,简单易懂(虽然学的时候有些费劲),但比较次数有些多,当数据较大时,比较耗时。

PS:本博文归中国石油大学胜利学院所有

BY:李佳胥

数组——排序(起泡法)相关推荐

  1. 用起泡法对字符串进行排序

    写一个函数,用"起泡法"对输入的10个字符按由小到大顺序排序. 要点:1.交换两个字符串常量不能用字符串拷贝. 如:const char *str1="haha" ...

  2. 起泡法排序(十个数)

    #include<stdio.h> int main(void){int i,j,t;int a[10];printf("Please enter ten numbers:\n& ...

  3. C语言排序之冒泡法(起泡法)

    C语言排序之冒泡法(起泡法)@C语言排序之冒泡法(起泡法) 冒泡的本质还是两两比较,第一次把最大或最小的选出来,第二次把老二选出来,这样的话就会少比一次,就这样循环下去就行啦,无非就是循环的嵌套,下面 ...

  4. 起泡法排序,从小到大顺序排列

    //起泡法排序基本思路: //每次将相邻的两个数进行比较,将小的调到前面 //n个数要进行n-1趟比较,每一趟比较要进行n-1次 //所以第j趟要进行n-j趟比较 #include <stdio ...

  5. C语言>>写一函数,用“起泡法”对输入的10个字符由小到大排序。

    使用工具: Dev-C++ 5.11 解题思路: "起泡法"思路为:将相邻两个数比较,将较小的调到前头,较大的放到后头.经过1轮比较后,最大的数便调到最后一个位置.所以n个数要比较 ...

  6. C语言冒泡排序(起泡法)

    C语言冒泡排序(起泡法) 冒泡法排序是C语言中较简单的 排序算法 的 . 定义:它重复地走访过要排序的元素列,依次比较两个相邻的元素,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾.如此 ...

  7. (19)写一个函数,用”起泡法“对输入的10数字符按由小到大顺序排列

    用"起泡法"对输入的10数字符按由小到大顺序排列 起泡法:即每一次将相邻两个数进行比较,若符合条件则交换两个数的值.每进行一趟排序,最大的一个数变成最后一个数.以此类推,直至整个数 ...

  8. C语言定义起泡法函数对n个数,C语言程序设计第10讲.ppt

    C语言程序设计第10讲 7.4.3 对被调用函数的说明 自定义函数: float factorial ( int n ) { float x, y ; for( x=y=1.0; x<=n; x ...

  9. c语言数的排序问题(起泡法)

    排序方法是一种重要的,基本的算法.起泡法的基本思路是:每次将相邻的两个数进行比较,将小的调到前面.若有六个数:9,8,5,4,2,0,可以按照下图方式进行对调排序. 第一趟比较先将第一个数9与第二个数 ...

最新文章

  1. ip转数字 java_Java IP地址转换和数字相互转换算法
  2. 复数矩阵QR分解算法的C++实现
  3. Web自动化测试 Selenium+Eclipse+Junit+TestNG+Python
  4. 数据结构(java语言描述)顺序栈的使用
  5. python以下导入包的格式错误的是_ICMP python上的错误数据包
  6. python动物代码大全_python爬虫代码大全
  7. jdbc postgresql mysql_mysql改为postgresql 语法常见问题
  8. 监测http端口是否存活
  9. Jmeter远程启动负载机
  10. easyUI 数据表格datagrid的使用
  11. 挑战杯创业计划书_基于云计算的下料优化软件_1. 执行总结
  12. 【Python+GDAL矢量数据操作】
  13. k-anonimity、l-diversity 和 t-closeness
  14. 分析社会热点与网络营销的关联
  15. c语言之数据类型长度
  16. 如何成为一名产品经理?这是我自学产品的8个方法
  17. 刷题记录--1bit与2bit字符
  18. Android性能优化 _ 大图做帧动画卡?优化帧动画之 SurfaceView滑动窗口式帧复用
  19. Matplotlib使用Latex中文
  20. 网络协议和Netty(4):大白话说三次握手及用一个数据库连接解释三次握手

热门文章

  1. Excel技能之美观排版
  2. 【建议收藏】图解十大经典机器学习算法——带你入门机器学习
  3. OpenGL学习笔记_02
  4. HTML的浮动与定位
  5. 【网络安全防御 防御病毒与密码浅学】
  6. 3500x架构_时代变了 大人!AMD锐龙5 3500X深度评测
  7. Redis关于Hash和List的命令学习
  8. 王献之传世墨宝《鸭头丸帖》
  9. iphone新旧手机数据传输已取消_两种方法轻松让iPhone实现APP互传,再也不羡慕安卓手机...
  10. 手机为何出现VoLTE