我是靠谱客的博主 热情绿茶,最近开发中收集的这篇文章主要介绍黑马程序员-数组排序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! --


import java.util.Arrays;


/*
 * 给定一个数组{5,6,9,2,4,10}
 * 获取数组中最大值,以及最小值
 */
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])
{
/*int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
*/
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])
{
/*int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
*/
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])
{
/*int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
*/
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])
{
/*int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
*/
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">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

最后

以上就是热情绿茶为你收集整理的黑马程序员-数组排序的全部内容,希望文章能够帮你解决黑马程序员-数组排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部