天天看點

黑馬程式員-數組排序

------- <a href="http://www.itheima.com" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="blank">android教育訓練</a>、<a href="http://www.itheima.com" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="blank">java教育訓練</a>、期待與您交流! --

import java.util.Arrays;

public class ArrayTest {

public static void main(String[] args)

{

int[] arr= {5,6,9,2,4,10};

System.out.println("數組中的最大值:"+ArrayMax(arr));

System.out.println("數組中的最小值:"+ArrayMin(arr));

//選擇排序

selectSort();//從小到大排序

selectSortM();//從大到小排序

bobSort();//冒泡排序,從小到大

bobSort1(); //冒泡排序:從da到xiao

Arrays.sort(arr);//系統内置函數排序,開發中、使用該句代碼

printArray(arr);//列印數組

}

//擷取數組中的最大值

public static int ArrayMax(int arr[])

{

for(int x=1;x<arr.length;x++)

{

arr[0]=arr[0]>arr[x]?arr[0]:arr[x];

}

return arr[0];

}

//擷取數組中的最小值

public static int ArrayMin(int arr[])

{

for(int x=1;x<arr.length;x++)

{

arr[0]=arr[0]<arr[x]?arr[0]:arr[x];

}

return arr[0];

}

/排序

//選擇排序

//内循環結束一次,最值出現在頭角标位置上。

//對給定數組進行排序{5,1,4,7,9,3,2},從小到大

public static void selectSort()

{

int[] arr = {5,1,4,7,9,3,2};

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

{

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

{

if(arr[i]>arr[j])

{

swap(arr,i,j);

}

}

}

System.out.println("從小到大排序");

printArray(arr);

}

//對給定數組進行排序{5,1,4,7,9,3,2},從大到小

public static void selectSortM()

{

int[] arr = {5,1,4,7,9,3,2};

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

{

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

{

if(arr[i]<arr[j])

{

swap(arr,i,j);

}

}

}

System.out.println("從大到小排序");

printArray(arr);

}

public static void bobSort() //冒泡排序:從小到大

{

int[] arr = {5,1,4,7,9,3,2};

for(int i=0;i<arr.length-1;i++)

{

for(int j=0;j<arr.length-i-1;j++)

{

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

{

swap(arr,j,j+1);

}

}

}

System.out.println("冒泡排序");

printArray(arr);

}

public static void bobSort1() //冒泡排序:從da到xiao

{

int[] arr = {5,1,4,7,9,3,2};

for(int i=0;i<arr.length-1;i++)

{

for(int j=0;j<arr.length-1;j++)

{

if(arr[j]<arr[j+1])

{

swap(arr,j,j+1);

}

}

}

System.out.println("冒泡排序:從大到小");

printArray(arr);

}

//列印數組

public static void printArray(int[]  a)

{

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

{

System.out.println(a[i]);

}

}

//發現無論什麼排序,都需要對滿足條件的元素進行位置置換,是以可以将這部分代碼封裝成一個函數

public static void swap(int[] arr,int a,int b) //數組元素交換

{

int temp=arr[a];

arr[a]=arr[b];

arr[b]=temp;

}

}

------- <a href="http://www.itheima.com" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="blank">android教育訓練</a>、<a href="http://www.itheima.com" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="blank">java教育訓練</a>、期待與您交流! ----------