为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > JAVA数组的最大最小值二分法查找

JAVA数组的最大最小值二分法查找

2017-12-02 4页 doc 16KB 7阅读

用户头像

is_574951

暂无简介

举报
JAVA数组的最大最小值二分法查找JAVA数组的最大最小值二分法查找 import java.util.Arrays; public class ArrayMaxMinSelect { public static void main(String[] args) { int[] arr = { -59, -25, -69, 0, 180, 98, 125 }; int max1 = getMax_1(arr); System.out.println("Í??×,Æ?ê?È,Ï,î?óÖµ:" + max1); int max2 = getMax_...
JAVA数组的最大最小值二分法查找
JAVA数组的最大最小值二分法查找 import java.util.Arrays; public class ArrayMaxMinSelect { public static void main(String[] args) { int[] arr = { -59, -25, -69, 0, 180, 98, 125 }; int max1 = getMax_1(arr); System.out.println("Í??×,Æ?ê?È,Ï,î?óÖµ:" + max1); int max2 = getMax_2(arr); System.out.println("Í??×Ê×,éÖ?µÄÒªËØ,ø???È,Ï:" + max2); Arrays.sort(arr); int index = halfSeach_2(arr, 98); System.out.println("Òª?éÕÒµÄÖµµÄÏÂ?êÊÇ?º" + index); } /** * ×î?óÖµ?éÕÒ1 * * @param array * @return */ public static int getMax_1(int[] array) { int maxIndex = 0; // Í??×,Æ?ê?È,Ï,î?óÖµ for (int i = 1; i < array.length; i++) { if (array[i] > array[maxIndex]) { maxIndex = i; } } return array[maxIndex]; } /** * ×î?óÖµ?éÕÒ2 * * @param array * @return */ public static int getMax_2(int[] array) { int maxElement = array[0]; // Í??×Ê×,éÖ?µÄÒªËØ,ø???È,Ï for (int i = 0; i < array.length; i++) { if (array[i] > maxElement) { maxElement = array[i]; } } return maxElement; } /** * ???Ö?éÕÓ????Õ,?ë?éÕÓ????Æ?ÐáÊÆ?Ø?ëÊÆÅźÃ?òµÄÊ×,é µÔÓ?ÖÖ?,?? * * @param array * @return */ public static int halfSeach_1(int[] arr, int key) { int min = 0; // ,î??,Æ?ê int max = arr.length - 1;// ×î?ó?Ç?ê int mid = (min + max) / 2; // Ö?,ä,Æ?ê while (key != arr[mid]) { if (key > arr[mid]) { min = mid + 1; } else if (key < arr[mid]) { max = mid - 1; } if (max < min) { return -1; } mid = (min + max) / 2; // Ã?Ñ???Ó??Î?,Óª???Ö } return mid; } /** * ???Ö?éÕÓ????Õ,?ë?éÕÓ????Æ?ÐáÊÆ?Ø?ëÊÆÅźÃ?òµÄÊ×,é µÔ??ÖÖ?,?? * * @param array * @return */ public static int halfSeach_2(int[] arr, int key) { int min = 0; // ,î??,Æ?ê int max = arr.length - 1;// ×î?ó?Ç?ê int mid = (min + max) / 2; // Ö?,ä,Æ?ê while (min <= max) { mid = (max + min) >> 1; // >>?ú?ì,ÓÓ,Ó?Î?Ïàµ?,Ô?×ÓÒ2Ë,?È?í if (key > arr[mid]) { min = mid + 1; } else if (key < arr[mid]) { max = mid - 1; } else { return mid; } } return -1; } }
/
本文档为【JAVA数组的最大最小值二分法查找】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索