首页 > 其他分享 >冒泡排序详解

冒泡排序详解

时间:2023-12-13 18:12:12浏览次数:34  
标签:10 arr int 元素 冒泡排序 ++ 详解 冒泡

算法思想

1、两两相邻的元素进行比较,如果前面元素大于后面元素就交换两个元素的位置,最终的结果是最大的一个元素移动到了最后的位置。 我们暂称这个过程为冒泡。
2、如果有n个元素那么【冒泡操作】重复n-1次即可排序完成。

 

 

 

 学习过程思想

1.一共两层for循环

2.第一个for循环是控制进行几次冒泡的,所以循环的次数的是待排序序列元素个数减一次。

3.第二个for循环是控制每一趟冒泡两两元素间进行比较的,相邻两两比较,若反序则交换。

  注意:j从0到n-1,j+1从1到n这个地方我第一次忽略-1,即j从0到n,那么j+1就会超过了排序序列的最大长度。

代码实践

#include <stdio.h>

int main() {
    int arr[10];
    printf("请输入10个数据:");
    for (int i = 0; i < 10; ++i) {
        scanf("%d", &arr[i]);
    }
    int temp;
    for (int i = 0; i < 10; i++) {
        for (int j = 0; j < 10 - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

    printf("升序输出数组:");
    for (int i = 0; i < 10; ++i) {
        printf("%d ", arr[i]);
    }
    return 0;
}

运行结果

 

标签:10,arr,int,元素,冒泡排序,++,详解,冒泡
From: https://www.cnblogs.com/michael-study/p/17899627.html

相关文章

  • TCP详解
    1.TCP介绍TCP是面向连接的、可靠的、基于字节流的传输层通信协议。2.TCP头格式源端口号/目的端口号序号解决包乱序问题确认序列目的是确认发出去对方是否有收到。如果没有收到就应该重新发送,直到送达,这个是为了解决丢包的问题。首部长度表示TCP首部有多少个(4字节)的......
  • HASH与对称加密详解
    HASH概述Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简......
  • Linux下PCI设备驱动开发详解(二)
    Linux下PCI设备驱动开发详解(二)根据上一章的概念,PCI驱动包括PCI通用的驱动,以及根据实际需要设备本身的驱动。所谓的编写设备驱动,其实就是编写设备本身驱动,因为linux内核的PCI驱动是内核自带的。为了更好的学习PCI设备驱动,我们需要明白内核具体做了什么,下面我们研究一下,linuxPCI......
  • 数据入表 | 详解数据资产会计核算与企业应对
    从2015年《促进大数据发展行动纲要》到2022年《数据20条》到2023年8月份出台了《企业数据资源相关会计处理暂行规定》,可见国家层面对数据的重视和探索如何进一步挖掘数据价值,发挥数据的应用潜力。一石激起千层浪,面对如此重要的规定,企业又该如何应对呢?且听小亿一一道来。一、出台背......
  • pod控制器详解
    这一章节是讲解pod的编排和调度,就得用到诸多的控制器。kubectlapi-resources#查看k8s的资源有哪些1.控制器作用1.pod类型的资源,如果直接删除,不会重建2.控制器可以帮助用户监视、并且保证相应的节点上始终运行着用户定义好的pod副本数在运行。3.甚至pod超过、或者......
  • pod详解
    Pod是什么Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod使用主要分为两种方式:Pod中运行一个容器。这是Kubernetes最常见的用法,您可以将Pod视为单个封装的容器,但是Kube......
  • Java内部类详解
    内部类内部类的分类内部类分类:成员内部类静态内部类局部内部类匿名内部类内部类的概念在一个类里面定义一个完整的类packagecom.lin.clas.demo01;​publicclassBody{​ //内部类 classHead{​ }}成员内部类在类的内部定义,与实例变量,实例......
  • Unity3D 第一人称角色控制器,第一人称相机,摄像机的关系详解
    Unity3D是一款强大的游戏开发引擎,可以用于创建各种类型的游戏。在游戏中,第一人称角色控制器、第一人称相机和摄像机是密切相关的组件,它们共同协作来实现游戏的第一人称视角。下面将详细解释它们之间的关系,并给出代码实现。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游......
  • 异常详解
    异常详解异常体系结构Java把异常当成一个对象处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。在JavaAPI中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception. 捕获和抛出异常关键字:try,catch,throw,throwspackagecom.paial.demo09......
  • Java方法详解
    Java方法详解1.何为方法类似于其他语言的函数Java方法是语句的集合,共同完成一个功能设计方法的原则:一个方法实现一个功能,有利于后期的管理和拓展!命名:首小写+驼峰命名。2.方法的定义修饰符返回值类型方法名(参数类型参数名){​方法体return返回值;}实参:实......