排序算法
来源:互联网 发布:iphone软件排行 编辑:程序博客网 时间:2024/06/05 03:33
排序算法
毕业后再也没有看过这些排序算法类的题目,上学学到的也差不多都被时间偷走了,那么是时候展(xue)现(xi)真正的技术了!
1、冒泡排序(Bubble Sort)
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
算法原理
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。当最后一对结束后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
动态示例图如下所示(采用ECharts实现,代码见src/com/cooloongwu/sort/BubbleSort.html。此处展示的是每趟排序的结果,目前还不完善,无法展现每次排序的结果):
代码实现
public static int[] sort(int[] args) { for (int i = 0; i < args.length - 1; i++) { for (int j = 0; j < args.length - 1 - i; j++) { if (args[j] < args[j + 1]) { int temp = args[j]; args[j] = args[j + 1]; args[j + 1] = temp; } } } return args; }
所有算法完整代码见GitHub:https://github.com/CooLoongWu/CoolAlgorithm
该算法类路径:com.cooloongwu.sort.BubbleSort
阅读全文
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 菜鸟重新了解C#
- HDU
- [Linux]history命令用法详解
- MyBatis中ResultMap和ResultType的区别
- jq 层级选择器
- 排序算法
- Hadoop基础教程-第5章 YARN:资源调度平台(5.2 YARN参数解读与调优)
- maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
- VS2010中Qt翻译文件的创建与使用范例
- CentOS6.8装tensorflow1.0
- CAS单点登录之mysql数据库用户验证及常见问题
- 模板
- Kotlin基本语法(译)
- Android:LinearLayout布局中Layout_weight的深刻理解