常见排序算法之冒泡排序
/*** 冒泡排序的核心就是,按顺序进行两两比较,如果第一个比第二个大则交换位置*/ public class MaoPaoPaiXu {private static int[] bubbleSort(int[] a) {// 至少进行n-1轮比较for (int i = 0; i < a.length - 1; i++) {// 第一轮比较完毕后,最大的已经排到最后面,所以下次比较就不用比较最后一个了,这样更快for (int j = 0; j < a.length - i - 1; j++) {if (a[j] > a[j + 1]) {// 交换位置swap(a, j, j + 1);}}}return a;}private static void swap(int[] a, int j, int i) {int temp = a[i];a[i] = a[j];a[j] = temp;}/*** 冒泡排序的时间复杂度是O(n^2),空间复杂度是O(1)*/public static void main(String[] args) {int[] a = { 2, 7, 4, 66, 43, 8, 5, 45, 22, 1, 9, 20 };int[] bubbleSort = bubbleSort(a);for (int i = 0; i < bubbleSort.length; i++) {System.out.println(bubbleSort[i]);}}}
转载于:https://www.cnblogs.com/java-spring/p/10792195.html
常见排序算法之冒泡排序相关推荐
- 常见排序算法:冒泡排序
为什么80%的码农都做不了架构师?>>> 从这篇文章开始,我会陆陆续续将我所能用Java实现的算法在这里简单做个梳理,也算温故而知新吧.受个人水平和时间限制,可能会有错漏,欢迎 ...
- java 实现 常见排序算法(一) 冒泡排序
大家好,我是烤鸭: 今天分享一下基础排序算法之冒泡排序. 1. 冒泡排序: 原理:比较两个相邻的元素,将较大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第 ...
- php常见排序算去,PHP兑现常见排序算法
PHP实现常见排序算法 //插入排序(一维数组) function insert_sort($arr){ $count = count($arr); for($i=1; $i $tmp = $arr[ ...
- android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些
学Java能拿高薪吗?Java中常见排序算法有哪些?作为老牌编程语言,Java拥有广阔的市场占有率,几乎90%以上的大中型互联网应用系统在服务端开发都会首选Java.为了加入到Java这一高薪行业,很 ...
- python实现常见排序算法
python实现常见排序算法 快速排序 思想:取出第一个元素把它放到序列的中间某一个正确位置,以它进行分割成左边和右边,再分别对左边和右边进行取元素分割(递归) 递归实现 def quicksort( ...
- golang 排序_常用排序算法之冒泡排序
周末无事,带娃之余看到娃娃在算数,想到了排序-尝试着把几种常用的排序算法跟大家聊一聊,在分析的后面我会用GoLang.PHP和JS三种语言来实现下. 常见的基于选择的排序算法有冒泡排序.插入排序.选择 ...
- php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
常见排序算法及PHP实现全文代码使用PHP7.2语法编写 0. 五种基础排序算法对比 1. 冒泡排序(Bubble Sort) 冒泡排序 是一种交换排序,它的基本思想是:对待排序记录从后往前(逆序)进 ...
- python常见排序算法解析
python--常见排序算法解析 算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法,分 ...
- C/C++排序算法(3)冒泡排序
常见排序算法总结(3)冒泡排序 一篇文章,带你搞懂 冒泡排序 (注:代码语言的选择不应该限制了我们对算法的理解) 文章附有动图!一看就懂! (1)工作原理 相邻的数据进行两两比较,小数放在前面,大数放 ...
最新文章
- log4j配置_是时候了解一下log4j2各种配置的含义了!
- 大数据学习——akka自定义RPC
- 网上找工作秘籍(3)
- NE2018届校招内推笔试——数据挖掘
- 47 CO配置-控制-利润中心会计-设置实际数据的控制参数
- Jquery改变窗体大小
- android自定义选年控件,Android精美日历控件CalendarView自定义使用完全解析
- Android安全开发之WebView中的地雷
- hdu_2476_String painter(区间DP)
- 7-16 装箱问题 (20 分)
- [Easyui - Grid]为easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列
- learn from 德国老师
- php爬虫入门之phpspider框架
- Netty原理:Channel
- 如何获取B站视频弹幕?
- CIKM 2022 | HGANDTI: 药物-靶点相互作用预测的异构图注意网络
- 圆方树学习笔记 例题 uoj30 Tourists
- Vue项目启动时自动打开浏览器
- TCP第四次挥手后为什么要等待2MSL后才断开链接?等待时间为什么是2MSL?
- Linux-脚本安装、快照、重置虚拟机