三种简单排序的实现(冒泡排序,选择排序,插入排序 )
来源:互联网 发布:刺客列传网络剧 编辑:程序博客网 时间:2024/06/07 15:55
冒泡排序:
public static void main(String[] args) { int[] a = {1, 7, 4, 3, 8, 2, 9, 6, 5}; for(int j = a.length; j > 0; j--) { //第一遍先找出最大的数,从第一个开始找,两两对比,大的数移到右边 //第二遍在前n-1个数中重复第一遍的循环 for (int i = 0; i < j - 1; i++) { if (a[i] > a[i + 1]) { int k = a[i + 1]; a[i + 1] = a[i]; a[i] = k; } } } for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } }
选择排序:
public static void main(String[] args) { int[] a = {3, 7, 4, 1, 8, 2, 9, 6, 5}; for (int j = 0; j < a.length; j++) { //第一趟找出最小的元素,排在第一位,下一趟从第二个元素开始循环找出第二小的元素 for (int i = j + 1; i < a.length; i++) { if (a[j] > a[i]) { int k = a[j]; a[j] = a[i]; a[i] = k; } } } for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } }
插入排序:
public static void main(String[] args) { int[] a = {3, 7, 4, 1, 8, 2, 9, 6, 5}; //从左至右开始,将要排序的数插入至自身左侧已排序的数列中 for (int i = 1; i < a.length; i++) { int j; int k = a[i]; for (j = i; j > 0; j--) { if (a[j - 1] > k) { a[j] = a[j - 1]; } else { break; } } a[j] = k; } for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } }
三种简单排序算法的效率都是O(N²)
阅读全文
0 0
- 三种简单排序的实现(冒泡排序,选择排序,插入排序 )
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- 数据结构 三种简单的排序(插入、选择、冒泡)
- Java实现的简单排序(冒泡排序,选择排序和插入排序)
- java 几种简单的排序(插入排序,冒泡排序,选择排序)
- 简单排序Java实现(一):冒泡排序,选择排序,插入排序(原理及实现)
- java实现简单的排序算法:冒泡排序、选择排序、插入排序
- 简单排序算法:冒泡排序,选择排序和插入排序的c++实现
- Javascript实现三种排序:冒泡排序、选择排序、插入排序
- 三种基础排序(冒泡、选择、插入排序)
- 数组的简单排序(冒泡排序,简单选择排序,插入排序)
- 简单排序(冒泡,选择排序,插入排序)
- 几种基本排序的实现:选择排序,冒泡排序,插入排序,堆排序,快速排序,归并排序
- 冒泡排序、选择排序和插入排序的实现
- 冒泡排序、选择排序、插入排序的js实现
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 170927 逆向-Reversing.kr(Position)
- SSL层
- jdbc获取数据库连接
- java控制台输出各种三角形
- win10 系统 eclipse配置scala+spark开发环境
- 三种简单排序的实现(冒泡排序,选择排序,插入排序 )
- Javascript高级程序设计--第8章笔记---窗口位置
- backbone+requirejs+bootstrap登录注册(maven项目,后台springmvc)
- 反射机制在学习时候的总结
- 神经网络网络参数的取值问题
- zepto框架学习日记
- poj 2540 求半平面交
- HDU4456(Crowd) 二维树状组+坐标旋转
- 数据结构——队列