【十大排序算法】十大排序算法总结_今日精选
一、基本思想
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
(资料图片仅供参考)
二、算法分析
算法描述
比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。
首先我们给定一个数组 int[] arr = {1,28,3,21,11,7,6,18};下面我们来直观的描述下冒泡排序算法的过程: 1、检查是否 1 > 28; 如果是则交换元素。
2、检查是否 28 > 3; 如果是则交换元素。
3、检查是否 28 > 21; 如果是则交换元素。
4、检查是否 28 > 11; 如果是则交换元素。
5、检查是否 28 > 7; 如果是则交换元素。
6、检查是否 28 > 6; 如果是则交换元素。
7、检查是否 28 > 18; 如果是则交换元素。
8、将最后一个没有排序过的元素标记为已排序。因为在最近的一次扫描过程中至少有一次交换发生过,我们可以进行另一轮扫描。
9、检查是否 1 > 3; 如果是则交换元素。
10、下面的我就不演示了,直到排序完。
11、附动画演示
三、算法实现
package com.algorithm.tenSortingAlgorithm;import java.util.Arrays;public class BubbleSort {public static int[] bubbleSort(int[] arr, int len) {for (int i = 0; i < len; i++) {//确定排序趟数 for (int j = i + 1; j < len; j++) {//确定比较次数 if (arr[i] > arr[j]) {//交换 int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } public static void main(String[] args) {int[] arr = {1,28,3,21,11,7,6,18}; bubbleSort3(arr, arr.length); System.out.println(Arrays.toString(arr)); }}
输出结果:
[1, 3, 6, 7, 11, 18, 21, 28]
其实,这个 int[] arr = {1,28,3,21,11,7,6,18};对于当前算法来说还好,但如果是 int[] arr = {3,2,1,4,5,6,7,8,9;这样的数组呢?后面的比较完全做了无用功,小量数据比还好,要是数据量多的比较的话,那会影响程序的性能。为了使代码尽可能高性能,我们下面来做一下优化:【九大排序算法】(一)冒泡排序算法(优化)
四、十大排序算法总结
【十大排序算法】(一)冒泡排序算法 【十大排序算法】(一)冒泡排序算法(优化) 【十大排序算法】(二)快速排序算法 【十大排序算法】(三)选择排序算法 【十大排序算法】(四)堆排序算法 【十大排序算法】(五)插入排序算法 【十大排序算法】(六)希尔排序算法 【十大排序算法】(七)归并排序算法 【十大排序算法】(八)计数排序算法 【十大排序算法】(九)桶排序算法 【十大排序算法】(十)基数排序算法
标签:
相关推荐:
最新新闻:
- rar密码有什么破解方法?解密文件有什么方法?
- 回顾腾讯QQ的成长发展史(1998-2016年)-环球热门
- 最新资讯:张一鸣:华为人才基因的真正密码
- 世界快资讯丨“橡皮擦”用英语该怎么说?橡皮擦的英文说法
- 扫雷和空当接龙freecell:算法深度优先_视点
- 【反汇编】ce附加红警3找钱的进程:环球速递
- rayfile网盘功能介绍 rayfile网盘安装步骤及安装注意事项
- 【技术】硬盘存储器的层次结构及原理
- 硬盘整数分区怎么计算?NTFS整数分区数值表分享
- 马冬晗学习计划表 清华学霸计划表曝光-精选
- MS-TTS:免费微软TTS语音合成工具 一键合成导出MP3音频
- 环球快讯:《霹雳五号》:一个机器人的自我意识
- 9个学习资源分享给大家 推荐几个资源聚集地
- 焦点观察:短网址移动网缩短接口网址api调用php方式解析
- RMSE、MAE、MSE 如何衡量模型效果好坏?-全球看热讯
- 每日动态!厨房管理游戏《末日等待》Steam页面上线 支持简中
- bin文件夹是什么?bin文件删了有什么影响?
- 澳大利亚一架波音737灭火飞机坠毁:全员奇迹生还-世界速读
- 最低配置是什么意思?赛博朋克2077配置要求2022
- 【十大排序算法】十大排序算法总结_今日精选
- Bodypaint 3D怎么用?Bodypaint 3D安装使用方法
- DLL是什么?winmm.dll丢失怎么解决?
- 硬盘温度多少度才算正常?硬盘温度过高怎么办呢?
- mcafee修复所有漏洞 没有让客户暴露在风险之中
- 积分电路是什么?积分电路的原理和作用
- 奥斯特电流实验flash制作 关于奥斯特实验的那些故事
- 4099元!荣耀80 Pro三体动画限量版开售 定制主题
- 如何注册网站域名?注册网站域名需要注意哪些?
- XPS Viewer是什么软件?XPS Viewer的使用方法
- 供应商的选择、评审和动态管理的方法 焦点快播
- 网飞推出AI视频短片《犬与少年》 实验性作品
- 如何让视障用户更好使用你的网站?10条网站易用性技巧
- 观点:金融市场的功能有哪些?金融市场的功能介绍
- 【天天时快讯】《艾尔登法环》Steam页面后台更新 或是将有新内容发布
- 正荣地产:1月合约销售金额约为13.56亿元|世界看热讯
- 小米13 Ultra曝光:2K E6曲面屏+1英寸超大底+120倍长焦-每日热议
- 《猎天使魔女3》已售出104万份 贝姐魅力大|热文
- 四川针对10领域出36条政策推动经济整体好转
- 科技裁员潮愈演愈烈!Zoom拟解雇1300人-即时焦点
- 天天资讯:《星球大战绝地:幸存者》9分钟实机:双持光剑砍瓜切菜
- 10年超12万人逃离巴黎!副市长:高房价带来巨大压力
- ChatGPT竞品来了!谷歌公布聊天机器人Bard:世界微头条
- 天天新资讯:ChatGPT引爆新一轮科技军备赛
- 全球热头条丨2999元!中国特供游戏神U英特尔酷睿i7-13790F曝光
- 小值360度全景摄像头直降400元到手79元
- RTX 4090+双模技术加持 雷神顶级电竞本ZERO 2023大黄蜂款上市:全球时快讯
- 天天速递!【手慢无】开工大促!AMD锐龙R5-5600G神U低至769元
- 环球关注:LD62H系列精巧高压电磁阀
- 热门:变身蜘蛛侠《命运2:光陨之秋》新技能缚丝预告
- 播报:顶级游戏本阵营再添新品 24核心i9配RTX 4090 发售价或将创新低
- 一半棉一半聚酯纤维会起球吗_聚酯纤维会起球吗-当前报道
- individual是什么意思_individual是什么意思|即时
- 八大巨人图片_八尺巨人
- 地牢吃鸡如此火爆?Steam新游Demo在线人数破十万
- 抖音否认3月1日全国上线外卖服务
- Riyo:世界即时
- 三七粉保质期有多长
- 环球时讯:适马发布新镜头50mm F1.4 DG DN丨Art
- 加拿大科技博主实测多张矿卡 结果出乎意料:环球热点
- 《泰坦尼克号》韩国重映:票根是船票 美丽精致
- 《嗜血法医》将拍衍生剧 讲述年轻版的摩根_天天热闻
- 全球报道:“工资价格螺旋”来了!继优衣库之后,野村也加入涨薪大军
- 日版光驱PS5售价迎来新低!到手仅需3434元_世界播资讯
- 速读:美国天才男孩9岁高中毕业 长大想研究黑洞和超新星
- 《寂静之地》衍生电影开拍 明年3月上映 当前滚动
- 环球消息!Garmin佳明智能手表助力“北极星黎明”载人航天飞行任务
- 太正确啦!《霍格沃茨之遗》首个跨性别女角色亮相
- 世界头条:PS VR2也能玩非VR游戏!最高支持120帧
- 【世界热闻】惠普新款暗影精灵9台式机开售 16999元
- 土耳其强震为何如此致命?专家分析这些因素或是关键
- 世界新资讯:二次触发熔断!土耳其股市暴跌,强震已致5000人丧生
- 硅酸钙板是什么有什么用途
- 【环球播资讯】《流浪地球2》排片占比25.3%登顶 《黑豹2》仅第三
- 全球热推荐:抖音将于3月1日上线全国外卖服务:边刷视频边下单
- 每日报道:一根针如果以光速撞击地球,会发生什么?