天天看點

java排序兩個數組_淺談JAVA實作選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并...

一直到大四才開始寫自己的第一篇部落格,說來實在有點羞愧。今天寫了關于排序的算法題,有插入排序,冒泡排序,選擇排序,以下貼上用JAVA實作的代碼:

public class test5

{

public static void print(int []array) //輸出數組方法

{

for(int i=0;i

System.out.print(" "+array[i]);

}

public static void selectsort(int array[]) //選擇排序方法

{

for (int i = 0; i < array.length; i++)

{

int min=i;

for(int j=i+1;j

if(array[min]>array[j])

min =j;

if(i!=min)

{

int temp=array[i];

array[i]=array[min];

array[min]=temp;

}

}

}

public static void insertsort(int array[]) //插入排序方法

{

for (int i = 1; i < array.length; i++)

{

int a=array[i];

int j=i-1;

for(;j>=0;j--)

{

if(a

array[j+1]=array[j];

else

break;

}

array[j+1]=a;

}

}

public static void bubblesort(int array[])

{

for(int i=0;i

{

for(int j=0;j

{

if(array[j]>array[j+1])

{

int temp=array[j];

array[j]=array[j+1];

array[j+1]=temp;

}

}

}

}

public static int[] merge(int a[],int b[])

{

int c[]=new int[a.length+b.length];

int i=0,j=0,k=0;

while (i

{

if (a[i]>b[j])

c[k++]=b[j++];

else

c[k++]=a[i++];

}

while(i

c[k++]=a[i++];

while(j

c[k++]=b[j++];

return c;

}

public static void main(String[] args)

{

int a[]={55,76,29,80,92,41,16};

int b[]={73,10,84,99,69,45};

// System.out.println("hello" );

System.out.print("數組a:" );

print(a);

System.out.print('\n');

System.out.print("數組b:" );

print(b);

System.out.print('\n');

System.out.print("選擇排序:" );

// selectsort(a);

print(a);

System.out.print('\n');

System.out.print("冒泡排序:" );

bubblesort(a);

print(a);

System.out.print('\n');

System.out.print("插入排序:" );

insertsort(b);

print(b);

System.out.print('\n');

System.out.print("合并數組:" );

print(merge(a, b));

}

}

運作後的結果如下圖所示

java排序兩個數組_淺談JAVA實作選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并...

以上所述是小編給大家介紹的JAVA實作選擇排序,插入排序,冒泡排序,以及兩個有序數組的合并詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對腳本之家網站的支援!