天天看点

黑马程序员-数组排序

------- <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>、期待与您交流! ----------