数组及其排序

来源:互联网 发布:什么叫原宿风 知乎 编辑:程序博客网 时间:2024/06/05 23:51
public class ArrryTest {
 public static void main(String[] args) {
  //int[] x=new int[10];1,定义变量。初始化为数组中任意一个元素即可。
  int arr[]={3,4,6,7,2,5};
  printArray(arr);
  int max=getMax(arr);
  System.out.println("max="+max);
  int min=getMin(arr);
  System.out.println("min="+min);
  selectSort(arr);
  printArray(arr);
  bubbleSort(arr);
  printArray(arr);
 }
 public static void printArray(int[] arr){打印数组
  for(int x=0;x<arr.length;x++){
   System.out.println("arr["+x+"]="+arr[x]);
  }
 }
 public static int getMax(int[] arr){取得最大值
  int m=arr[0];
  for(int x=1;x<arr.length;x++){
   if(arr[x]>m)
    m=arr[x];
  }
  return m;
 }
 public static int getMin(int[] arr){
  int m=0;//角标
  for(int x=1;x<arr.length;x++){
   if(arr[x]<arr[m])
    m=x;
  }
  return arr[m];
 }//选择排序。内循环结束一次,最值出现头角标位置上。
 public static void selectSort(int[] arr){
  for (int x=0; x<arr.length-1 ; x++){
   for(int y=x+1; y<arr.length; y++){
    if(arr[x]>arr[y]){
     int temp = arr[x];
     arr[x] = arr[y];
     arr[y] = temp;
    }}}}
 public static void bubbleSort(int[] arr){//冒泡排序内循环结束一次,最值出现在最后
  for(int x=0; x<arr.length-1; x++){         
   for(int y=0; y<arr.length-x-1; y++){//-x:让每一次比较的元素减少,-1:避免角标越界。
    if(arr[y]<arr[y+1]){
     int temp = arr[y];
     arr[y] = arr[y+1];
     arr[y+1] = temp;
    }}}}