/*
数组中常用的算法
1.求数组元素的最大值,最小值,总和,平均值
2.数组的复制,反转
3.数组元素的排序
java.util.Arrays:用于操作数组工具类
*/
import java.util.Arrays;
class ArrayTest4
{
public static void main(String[] args)
{
//int[] arr=new int[]{}
int[] arr={99,52,-15,0,33};
//最大值
int max=arr[0];
for (int i=1;i<arr.length ;i++ )
{
if (arr[i]>max)
{
max=arr[i];
}
}
System.out.println("最大值:"+max);
//最小值
int min=arr[0];
for (int i=1;i<arr.length ;i++ )
{
if (arr[i]<min)
{
min=arr[i];
}
}
System.out.println("最小值:"+min);
//总和
int sum=0;
for (int i=0;i<arr.length ;i++ )
{
sum+=arr[i];
}
System.out.println("总和:"+sum);
//平均值
System.out.println("平均值:"+(double)sum/arr.length);
//数组的复制 //数组的扩容:int[] arr2=new int[arr.length+X];
int[] arr2=new int[arr.length];
for (int i=0;i<arr.length;i++ )
{
arr2[i]=arr[i];
}
arr2[1]=-54;
//数组的反转 (换位置次数:数组的长度/2)
for (int a:arr)
{
System.out.print(a+"\t");
}
System.out.println();
System.out.println("----------------------");
for (int i=0;i<arr.length/2 ;i++ )
{
int temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
for (int a:arr)
{
System.out.print(a+"\t");
}
System.out.println();
System.out.println("----------------------");
//数组的排序(冒泡排序BubbleTest 直接选择排序SelctionTest)
//Arrays.sort(arr);//快速排序
//数组的遍历
/*System.out.println("----------------------");
for (int a:arr2)
{
System.out.print(a+"\t");
}
System.out.println();
System.out.println("----------------------");
for (int a:arr)
{
System.out.print(a+"\t");
}*/
}
}
/*
冒泡排序
*/
class BubbleTest
{
public static void main(String[] args)
{
int[] arr={99,22,33,-15,0};
for (int i=0;i<arr.length-1 ;i++ )//外层循环控制比较多少轮
{
for (int j=0;j<arr.length-1-i ;j++)//内层循环控制每轮比较多少次
{
if (arr[j]<arr[j+1])//也可以>输出顺序不一样
{
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (int a:arr)
{
System.out.println(a);
}
System.out.println();
}
}