关于数组的取极值和排序

-------------------android培训java培训、期待与您交流! ----------


 

1.获取最大值

public static int getMax(int[] arr)
 {
  int max = arr[0];//设置第一个元素为最大,然后让其和后一位比

  for(int x=1; x<arr.length; x++)
  {
   if(arr[x]>max)//遍历后面的元素,如果后面的大于max就,让arr[x]的值赋给max
    max = arr[x];
  }
  return max;//最后得到的max就是最大值
 }

 2.获取最小值

public static int getMin(int[] arr)
 {
  int min = arr[0];];//设置第一个元素为最小,然后让其和后一位比

  for(int x=1; x<arr.length; x++)//遍历后面的元素,如果后面的小于min就让arr[x]的值赋给min
  {
   if(arr[x]<min)
    minx= arr[x];
  }
  return min;//最后得到的min就是最小值
 }

选择排序

让每个元素都和后面的每个元素比较,这个比较量比较大,但好理解

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;
    }
   }
  }
 }

 

posted @ 2013-11-24 19:13  王贺blog  阅读(509)  评论(0编辑  收藏  举报