排序算法-冒泡排序

文章目录

排序算法-冒泡排序

从小到大排序

C#代码

csharp 复制代码
        /// <summary>
        /// 冒泡排序【从小到大排序】
        /// Krystal 2023-11-08 11:21:45
        /// i是趟数,j是元素的位置,每一趟完毕,最大的元素都在正确的位置上
        /// 如:  7 5 8 6 3 
        /// 结果:3 5 6 7 8
        /// </summary>
        /// <param name="array"></param>
        private void bubbleSort(int[] array)
        {
            int t;
            for (int i = 0; i < array.Length - 1; i++)
            {
                for (int j = 0; j < array.Length - 1 - i; j++)
                {
                    if (array[j] > array[j + 1])
                    {
                        t = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = t;
                    }
                }
            }
        }

运行结果

从大到小排序

C#代码

csharp 复制代码
        /// <summary>
        /// 冒泡排序【从大到小排序】
        /// Krystal 2023-11-08 11:59:35
        /// i是趟数,j是元素的位置,每一趟完毕,最小的元素都在正确的位置上,在右边都是排好的,比如第i趟时,第i+1小的数在位置array.Length-1-i上
        /// 如:  7 5 8 6 3 
        /// 结果:8 7 6 5 3 
        /// </summary>
        /// <param name="array"></param>
        private void bubbleSortDesc(int[] array)
        {
            int t;
            for (int i = 0; i < array.Length - 1; i++)
            {
                for (int j = 0; j < array.Length - 1 - i; j++)
                {
                    if (array[j] < array[j + 1])
                    {
                        t = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = t;
                    }
                }
            }
        }

运行结果

相关推荐
康谋自动驾驶5 分钟前
拆解3D Gaussian Splatting:原理框架、实战 demo 与自驾仿真落地探索!
算法·数学建模·3d·自动驾驶·汽车
酌量44 分钟前
基于3D激光点云的障碍物检测与跟踪---(1)体素下采样、ROI 区域裁剪与地面点云分割
笔记·机器人·ransac·障碍物检测·激光点云·roi·体素下采样
时光追逐者1 小时前
一个使用 WPF 开发的 Diagram 画板工具(包含流程图FlowChart,思维导图MindEditor)
c#·.net·wpf·流程图
大邳草民1 小时前
Django 的动态特性:从 Python 动态机制到框架设计思想
笔记·python·django
violet-lz1 小时前
数据结构八大排序:希尔排序-原理解析+C语言实现+优化+面试题
数据结构·算法·排序算法
ezl1fe1 小时前
第一篇:把任意 HTTP API 一键变成 Agent 工具
人工智能·后端·算法
Larry_Yanan1 小时前
QML学习笔记(四十五)QML与C++交互:信号槽的双向实现
c++·笔记·qt·学习·ui·交互
冯诺依曼的锦鲤1 小时前
算法练习:双指针专题
c++·算法
我是唐青枫1 小时前
C#.NET FluentValidation 全面解析:优雅实现对象验证
c#·.net
吃着火锅x唱着歌1 小时前
LeetCode 668.乘法表中第k小的数
算法·leetcode·职场和发展