美文网首页
冒泡排序法

冒泡排序法

作者: and_pu | 来源:发表于2018-03-13 23:07 被阅读24次

非科班出身的我,只能通过坚持和努力来弥补后天的不足,尽量拉小跟同行的差距,所以我打算在跳槽的黄金季节,开始写作的第一篇,废话不多说,直接进入主题--Java常见的冒泡排序法

冒泡排序法(Bubble Sort)是所有排序算法中最简单、最基本的一种。冒泡排序法的思路就是交换排序,通过相邻数据的交换来达到排序目的。

原理:
1、对数组中的各数据,依次比较相邻的两元素的大小。
2、如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序后,变可把最小的数据排好。
3、再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据的顺序。

代码:
void bubbleSort(int[] datas) {
int temp;
for (int i = 1; i < datas.length; i++) {
for (int j = 0; j < datas.length - i; j++) {
if (datas[j] > datas[j + 1]) {
temp = datas[j];
datas[j] = datas[j + 1];
datas[j + 1] = temp;
}
}
}
}

优化方法,当两两比较后没有发生交换,那么在下一次就不用再去比较,所以代码可以优化为
void bubbleSort(int[] datas) {
int temp;
for (int i = 1; i < datas.length; i++) {
boolean flag=true;
for (int j = 0; j < datas.length - i; j++) {
if (datas[j] > datas[j + 1]) {
flag=false;
temp = datas[j];
datas[j] = datas[j + 1];
datas[j + 1] = temp;
}
}
if ( flag )
break;
}
}
这里暂时不对时间复杂度和空间复杂度做分析,后续会更新该文章。

相关文章

  • 冒泡排序法C

    xcode冒泡排序法 下载冒泡排序。

  • 各种排序方法

    冒泡排序法 选择排序法 链表排序法 qsort()函数排序法

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • PHP四种基础算法详解

    需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。 1、冒泡...

  • 排序算法篇_快速排序法

      快速排序(Quick Sort)法和冒泡排序法类似,都是基于交换排序思想的。快速排序对冒泡排序法进行了改进,从...

  • iOS常见算法

    升序算法:用冒泡排序法 选择排序法 快速排序

  • 3种排序

    冒泡排序 插入排序 快速排序法

  • 第2天

    题目:对10个数进行排序 分析:可以采用冒泡排序法,也可以使用选择排序法 程序1:冒泡排序法 #include i...

  • js 常见排序算法(快速排序,选择排序等)

    快速排序法 选择排序 插入排序 冒泡排序

网友评论

      本文标题:冒泡排序法

      本文链接:https://www.haomeiwen.com/subject/dntxqftx.html