java 排序,选择排序、插入排序、冒泡排序
java语言数组排序有很多中方法,学习的时候写下的,为了再一次熟悉代码
选择排序:数组中的第一个元素和第二个以及之后的每一个元素都进行比较,较小的排在第一个,再让第二个和后面的每一个进行比较,最小的放在第二个,以此类推
public class Xuanze { public static void main(String[] args) { int[] a={1,4,5,1,2,9,10,2,18}; for(int x=0;x<a.length-1;x++) { for(int i=x+1;i<a.length;i++) { if(a[x]>a[i]) { int tem; tem=a[i]; a[i]=a[x]; a[x]=tem; } } } for(int x=0;x<a.length;x++) { System.out.print(a[x]+" "); } }
冒泡排序
相邻的两个元素比较,较大的后移,比较完一次之后最大的元素在最后一位,第二次循环就不用再和最后一个元素比较,以此类推
class Maopao { public static void main(String[] args) { int[] a={1,2,3,10,9,2,22,15,18}; for(int i=0;i<a.length-1;i++) { for(int x=0;x<a.length-1-i;x++) { if(a[x]>a[x+1]) { int tem; tem=a[x]; a[x]=a[x+1]; a[x+1]=tem; } } } for(int x=0;x<a.length;x++) { System.out.print(a[x]+" "); } } }
插入排序:相邻的两个元素先进行比较,较小的排在第一位,第二次循环就是先让第二个和第三个进行比较,比较之后小的排在第二位,再让第二位的和第一位的比较完成第二次循环。第三次循环,比较的元素变成4个,先第三个和第四个比较,较小的排在第三位,再让第三为和第二位比较,较小的排在第二位,再让第一位和第二位比较完成第三次循环。以此类推。
class Charuu { public static void main(String[] args) { int[] a={1,2,3,10,6,8,18,15}; for(int x=0;x<a.length-1;x++) { for(int i=x;i>=0;i--) { if(a[i]>a[i+1]) { int tem; tem=a[i]; a[i]=a[i+1]; a[i+1]=tem; } } } for(int x=0;x<a.length;x++) { System.out.print(a[x]+" "); } } }