冒泡排序
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+" ");
}
}