<dl id="opymh"></dl>

<div id="opymh"></div>
      <div id="opymh"><tr id="opymh"></tr></div>

        <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

        <em id="opymh"></em>

        <em id="opymh"><ol id="opymh"></ol></em>

              频道栏目
              首页 > 程序开发 > 软件开发 > Java > 正文
              java排序算法学习之冒泡选择排序二分查找工具类等实现讲解
              2018-07-27 14:59:47         来源chaobin6的博客  
              收藏   我要投稿

              冒泡排序相邻元素两两比较大的往后放第一次完毕最大值出现在了最大索引处

              public static void bubbleSort(int[] arr) {

              for (int i = 0; i < arr.length - 1; i++) { //外循?#20998;?#38656;要比较arr.length-1次就可以了

              for (int j = 0; j < arr.length - 1 - i; j++) { //-1为了防止索引越界,-i为了提高效率

              if(arr[j] > arr[j+1]) {

              int temp = arr[j];

              arr[j] = arr[j + 1];

              arr[j+1] = temp;

              }

              }

              }

              }

              选择排序

              * 从0索引开始依次和后面元素比较小的往前放第一次完毕最小值出现在了最小索引处

              public static void selectSort(int[] arr) {

              for (int i = 0; i < arr.length - 1; i++) { //只需要比较arr.length-1次

              for (int j = i + 1; j < arr.length; j++) {

              if(arr[i] > arr[j]) {

              /*int temp = arr[i];

              arr[i] = arr[j];

              arr[j] = temp;*/

              swap(arr,i,j);

              }

              }

              }

              }

              二分查找

              public static int getIndex(int[] arr, int value) {

              int min = 0;

              int max = arr.length - 1;

              int mid = (min + max) / 2;

              while(arr[mid] != value) { //当中间值不等于要找的值,就开始循环查找

              if(arr[mid] < value) { //当中间值小于了要找的值

              min = mid + 1; //最小的索引改变

              }else if (arr[mid] > value){ //当中间值大于了要找的值

              max = mid - 1; //最大的索引改变

              }

              mid = (min + max) / 2; //无论最大还是最小改变,中间索引都会随之改变

              if(min > max) { //如果最小索引大于了最大索引,就没有查找的可能性了

              return -1; //返回-1

              }

              }

              return mid;

              }

              用java提供的工具类进行查找

              Arrays类概述(工具类都是静态方法私有构造)

              * 针对数组进行操作的工具类

              * 提供了排序查找等功能

              * B:成员方法

              * public static String toString(int[] a)

              * public static void sort(int[] a)

              * public static int binarySearch(int[] a,int key)

              例子

              int[] arr = {33,22,11,44,66,55};

              System.out.println(Arrays.toString(arr)); //数组转字符串

              Arrays.sort(arr); //排序

              System.out.println(Arrays.sort(arr));

              int[] arr2 = {11,22,33,44,55,66};

              System.out.println(Arrays.binarySearch(arr2, 22));

              System.out.println(Arrays.binarySearch(arr2, 66));

              System.out.println(Arrays.binarySearch(arr2, 9));

              点击复制链接 与好友分享!回本站首页
              上一篇Java关于标识符与关键字的知识总结
              下一篇java线程之间的通信方式实例讲解
              相关文章
              图文推荐
              点击排行

              关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

              版权所有: 红黑联盟--致力于做实用的IT技术学习网站

              ٷͧü
              <dl id="opymh"></dl>

              <div id="opymh"></div>
                  <div id="opymh"><tr id="opymh"></tr></div>

                    <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                    <em id="opymh"></em>

                    <em id="opymh"><ol id="opymh"></ol></em>

                          <dl id="opymh"></dl>

                          <div id="opymh"></div>
                              <div id="opymh"><tr id="opymh"></tr></div>

                                <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                                <em id="opymh"></em>

                                <em id="opymh"><ol id="opymh"></ol></em>