冒泡排序和插入排序

    科技2025-11-17  7

    冒泡排序

    package ssj; public class bubbleSort { public static int[] Bubblesort(int[] a) { for(int i=0;i<a.length-1;i++) {//没有算到最后一个 for(int j=i+1;j<a.length;j++) {//算到了最后一个 int k; if(a[i]>a[j]) { k=a[i]; a[i]=a[j]; a[j]=k; } } } return a; } }

    插入排序

    package ssj; public class Insert { public static int[] Insertsort(int[] a) { //摄入插入书和最后已经排好序列的最后一个数的位数,insertNum和i-1 //从最后一个数开始向前循环,如果插入数小于当前数,就将当前数往前后移一个,插入数放在空的位置 int temp=0,j; for(int i=1;i<a.length;i++) {//第一个就不用插入了 if(a[i-1]>a[i]) {//如果前一个数比后一个数大 temp=a[i];//temp为小 j=i;//j为最后一个数的位置 while(j>0&&a[j-1]>temp) {//当j有值,并且前一个数比后一个数大 a[j]=a[j-1];//相当于大的这个数移到后面来 j--;//并且最后一个排序往前算 } a[j]=temp;//最后就是排序完成之后,a[j]即空着的位置,放上这个数 } } return a; } }

    主程序

    package ssj; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub int[] a={2,5,1,9,10,23,7,39}; int[] b=new int[8]; int[] c=new int[8]; b=bubbleSort.Bubblesort(a); c=Insert.Insertsort(a); for(int i:a) { System.out.print(i+" "); } System.out.println(); for(int i:b) System.out.print(i+" "); System.out.println(); for(int i:c) System.out.print(i+" "); } }
    Processed: 0.009, SQL: 8