数组高级部分--排序,查找

1.数组排序之冒泡排序:

    两两比较,大的往后放放,第一次比较完毕之后,最大值就出现在了最大索引出,继续依次比较,得到一个排好序的数组!

wKioL1l57U-S1IDIAAEMxAT5reQ156.png-wh_50

2.数组排序之:选择排序:
          用0索引依次和后面的索引进行比较,第一次比较完毕之后,最小值出现在了最小索处!
               同理,其他索引也是依次进行比较!

wKiom1l57WOyLQMaAAEeauxXjTA180.png-wh_50

3.数组查找

             基本查找:数组元素查表法(查询数组中的元素第一次在数组中出现的索引):从头查到尾  
                  数组二分查找(折半查找)

             思路:
               1)定义最大索引和最小索引
               2)计算出中间索引:
                   如果要查的元素和中间索引对应的元素相等,返回中间索引
                   如果不想等
                       大了,左边找
                       小了右边找
               3)重写计算出中间索引:
                   大了:max = mid -1 ;
                   小了:min = mid+1 ;
               4)继续回到(2)进行重新计算在查找!

wKioL1l57XXC4z7zAADyFyCHr-A283.png-wh_50

wKiom1l57XbzoqwAAADM9WHj63A898.png-wh_50

4.数组快速查找

Arrays:sun公司提供的官方文档中的一个类:包含了数组排序以及数组搜索等等的一些方法!对数组操作的工具类
          java.util包下
          public static String toString(int[] a):将int类型的数组转换成字符串类型
          public static void sort(int[] a)对指定的 int 型数组按数字升序进行排序。(该底层已经封装好了,
  属于快速排序算法封装的一个sort方法)
          public static int binarySearch(int[] a,int key):二分查找

wKioL1l57YmCoFe-AAGHUzVrguY813.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章