[Java]数组排序-选择排序 冒泡排序 插入排序
2014-03-17 20:53
483 查看
1 选择排序
原理:a 将数组中的每个元素,与第一个元素比较
如果这个元素小于第一个元素, 就将这个
两个元素交换.
b 每轮使用a的规则, 可以选择出一个最小元素
放到第一个位置.
c 经过n-1轮比较完成排序
简单说: 每轮选择最小的放到前面.
2 冒泡排序
原理: a 逐一比较数组中相邻的两个元素, 如果后面
的数字小于前面的数字, 就交换先后元素.
b 经过一个轮次的比较, 一定有一个最大的排
在最后的位置.
c 每次比较剩下的元素, 经过n-1次比较, 可以
实现排序
简单说: 比较交换相邻元素,每次最大的漂移到最后
3 插入排序
原理: a 将数组分为两部分, 将后部分的第一张逐一
与前部分每一张比较, 如果当前元素小, 就
一点被比较元素.
b 找到合理位置插入.
原理:a 将数组中的每个元素,与第一个元素比较
如果这个元素小于第一个元素, 就将这个
两个元素交换.
b 每轮使用a的规则, 可以选择出一个最小元素
放到第一个位置.
c 经过n-1轮比较完成排序
简单说: 每轮选择最小的放到前面.
2 冒泡排序
原理: a 逐一比较数组中相邻的两个元素, 如果后面
的数字小于前面的数字, 就交换先后元素.
b 经过一个轮次的比较, 一定有一个最大的排
在最后的位置.
c 每次比较剩下的元素, 经过n-1次比较, 可以
实现排序
简单说: 比较交换相邻元素,每次最大的漂移到最后
3 插入排序
原理: a 将数组分为两部分, 将后部分的第一张逐一
与前部分每一张比较, 如果当前元素小, 就
一点被比较元素.
b 找到合理位置插入.
package com.dezai; import java.util.Arrays; public class VAlign { public static void main(String[] args) { int[] a=new int[]{8,3,5,1,4,2,7}; String s=Arrays.toString(selectionSort(a)); System.out.println("选择排序:"+s); String s1=Arrays.toString(bubolSort(a)); System.out.println("冒泡排序: "+s1); String s2=Arrays.toString(InserSort(a)); System.out.println("插入排序: "+s2); } /* * 选择排序 */ public static int[] selectionSort(int[] ary){ for(int i=0;i<ary.length;i++){ for(int j=i+1;j<ary.length;j++){ if(ary[j]<ary[i]){ int temp=ary[i]; ary[i]=ary[j]; ary[j]=temp; } } } return ary; } /* * 冒泡排序 */ public static int[] bubolSort(int[] ary){ for(int i=0;i<ary.length;i++){ for(int j=0;j<ary.length-i-1;j++){ if(ary[j]>ary[j+1]){ int temp=ary[j+1]; ary[j+1]=ary[j]; ary[j]=temp; } } } return ary; } /* * 插入排序 */ public static int[] InserSort(int[] ary){ for(int i=0;i<ary.length;i++){ int temp =ary[i]; int j; for(j=i-1;j>=0 && temp<ary[j];j--){ if (temp<ary[j]){ ary[j+1]=ary[j]; }else{ break; } } ary[j+1]=temp; } return ary; } }
相关文章推荐
- java数组的排序,选择排序,冒泡排序,插入排序
- 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
- java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序
- [Java]数组排序-选择排序 冒泡排序 插入排序
- java必须知道的八大种排序算法:冒泡排序、 选择排序、插入排序、快速排序、希尔算法、归并排序算法、基数排序、堆排序算法
- java 几种简单的排序(插入排序,冒泡排序,选择排序)
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- Java基础04:选择排序;冒泡排序;折半查找;二位数组
- 数组 冒泡排序 选择排序 插入排序
- 【学习总结】Java中最常用的三大排序算法-冒泡排序、选择排序、插入排序
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- 数组,查找算法,二分查找法,冒泡排序,选择排序,插入排序
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- Java基本排序(插入排序,冒泡排序,选择排序)
- java 冒泡排序 插入排序 选择排序
- 黑马程序员:Java数组简介与数组的应用:选择排序、冒泡排序、折半查找
- [java]排序分类--及选择排序、插入排序、冒泡排序、快速排序的解释图和代码
- Java程序员从笨鸟到菜鸟(二)Java实现冒泡排序、快速排序、插入排序、选择排序等基本排序方式
- Java实现冒泡排序、快速排序、选择排序、插入排序和归并排序
- JAVA中常见的四种排序--冒泡排序、选择排序、插入排序和快速排序 详解