当前位置: 首页 > article >正文

冒泡排序:相邻两俩比较,小的放前面,大的放后面

//冒泡排序:相邻两俩比较,小的放前面,大的放后面
//大的放右边,小的放左边
#include<stdio.h>
int main()
{
    int arr[] = { 3,5,2,1,4 };
    int len = sizeof(arr) / sizeof(int);
    int num = len;
    for (int i = 0; i <len; i++)
    {
        for (int j=0; j < num-1; j++)//当j=4时,j+1=5,循环并不到达五,所以索引最大是num-1
        {
            
            if (arr[j] > arr[j+1])//前面一个和后面一个比较
            {
                int temp = arr[j+1];
                arr[j+1] = arr[j];
                arr[j] = temp;
            }
        
        }
        num = num - 1;//5到最后面已经是最大的了,所以就不用再循环判断arr[j]是否大于5,每次循环到最后的数都是这次比较的数中最大的
    }
    for (int i = 0; i < len; i++)
    {
    
        printf("%d\n", arr[i]);
    }
    

    return 0;
}

第二种循环方式:不用定义num 用len-1-i来表示num-1;
//for (int i = 0; i < len; i++)
//{
//    for (int j = 0; j < len-1-i; j++)
//    {
//
//        if (arr[j] > arr[j + 1])
//        {
//            int temp = arr[j + 1];
//            arr[j + 1] = arr[j];
//            arr[j] = temp;
//        }
//
//    }


http://www.kler.cn/a/383107.html

相关文章:

  • Django目录结构最佳实践
  • C++ std::optional用法介绍
  • RK3588开发笔记-5G模块(SIM8200、广和通FM160、移远RM500U)调试笔记
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
  • VUE2升级成VUE3的优化与区别
  • 排序算法详细总结
  • 使用PyCharm连接虚拟机运行spark任务,本地开发:远程提交测试
  • 在老旧小区配电系统中剩余电流继电器的应用
  • 一.Linux文件基本属性
  • docker+mysql配置
  • 第十九课 Vue组件中的方法
  • 3^100的位数判断
  • CAN通讯中常见的接口异常问题及其解决方案
  • 【数据结构与算法】第8课—数据结构之二叉树(堆)
  • Linux基础-常用操作命令详讲
  • 《Java核心技术 卷I》对象克隆
  • LeetCode 热题100之图论
  • Hive 2.x 的安装与配置
  • GPU架构概述
  • python数据分析笔记
  • 如何选择适合TikTok创作者的高性价比专线网络:全方位指南
  • 【算法篇】--重温算法题
  • Pulsargeist:恐怖类型的 XR 大空间项目创新玩法
  • SQL练习专场--01
  • 【glm4-voice-9b 本地运行并测试 gradio+notebook】
  • 探索空间计算与 VR 设备的未来:4K4DGen 高分辨率全景 4D 内容生成系统