第三節 java 數組(循環遍歷、獲取數組的最值(最大值和最小值)、選擇排序、冒泡排序、練習控制檯輸出大寫的A)

獲取數組的最值(最大值和最小值)

思路: 一、獲取最值須要進行比較,每一次比較都會有一個較大的值,由於該 值不肯定,須要一個變量進行臨儲html

二、讓數組中的每個元素都和這個變量中的值進行比較,若是大於了 變量中的值,就用該變量記錄較大值。java

三、當全部的元素都比較完成,那麼該變量中存儲的就是數組中最大值api

例子://最大值數組

int arr[] = {1,2,3,4,5,};函數

int max = arr[0];spa

  for(int a=0;a<arr.length;a++){code

{if(arr[a])>arr[max]{htm

mac=arr[a];}排序

}get

system.out.println("數組arr最大值爲:"+max);同理去最小值。

 

快捷上升排序: Arrays類中的sort()使用的是「通過調優的快速排序法」;

函數原型:static void sort(int[] a)   對指定的 int 型數組按數字升序進行排序。

       static void sort(int[] a, int fromIndex, int toIndex)  對指定 int 型數組的指定範圍按數字升序進行排序。 

import java.util.Arrays;
public class ArraysSort_11 {
    public static void main(String args[])
    {
        int[] a={1,4,-1,5,0};
        Arrays.sort(a);
        //數組a[]的內容變爲{-1,0,1,4,5}
        for(int i=0;i<a.length;i++)
            System.out.print(a[i]+"  ");
    }
}

 

選擇排序   

選擇排序:一開始默認角標爲0的數爲最小的數,依次和後面的數比較(最後一位數因爲已經與前面數進行了比較,全部不用再次比較:length-1;),發現小的記錄下標,最
後把角標爲0的數和最後的角標數交換,第二次從角標爲1的數開始遍歷;

int arr[] = {1,2,3,4,5}; for(int i = 0;i < arr.length-1;i++){ //最後一位數因爲已經與前面數進行了比較,全部不用再次比較:length-1; for(int a = i+1;a<arr.length;a++){ //a=i+1;從角標1開始與i=0的值進行大小比較,共比較4次,得出a<arr.length; if(arr[i] > arr[a]){ int temp = arr[a]; arr[a] = arr[i]; arr[i] = temp; } } } System.out.print("{"); for(int b = 0;b < arr.length;b++){ if(b != arr.length-1){ System.out.print(arr[b]+","); }else{ System.out.print(arr[b]+"}"); } } 

冒泡排序

冒泡排序:是經過兩兩比較,把比較的獲得的最大值或最小值放到數組的最後面,而後依次循環 第一次取到最大值或者最小值,進入第二次循環,第二次循環也是兩兩比較,由於第 一次循環的時候咱們的獲得的值已經和前面的值進行了比較判斷,因此第二次循環的 時候就不須要再把前一次比較獲得的值再進行一個比較,因此咱們的第二個for循環裏 面會有一個.length-i-1; int[] arr = {3,2,4,7,6,5,9,8,10,20,1}; for(int a = 0;a<arr.length-1;a++){ for(int b = 0;b<arr.length-a-1;b++){ if(arr[b]>arr[b+1]){ int temp = arr.[b]; arr.[b] = arr.[b+1]; arr.[b+1] = temp ; } }

相關文章
相關標籤/搜索