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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组高级部分--排序,查找相关的知识,希望对你有一定的参考价值。

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

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

技术分享

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

技术分享

3.数组查找

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

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

技术分享

技术分享

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):二分查找

技术分享

以上是关于数组高级部分--排序,查找的主要内容,如果未能解决你的问题,请参考以下文章

快排查找数组中的第K个最大元素

MySQL学习之第五章-高级部分

数组冒泡排序选择排序二分查找法

数组的高级(排序和查找)

二分查找模板Python实现

算法面试通关