怎么在百度提交自己的网站,淘宝网的公司注册名称,如何制作公司网页百度发布,商丘网络二分查找在编程中是用来查找目标元素在有序数组中的位置,并返回目标元素的索引
先给定一个有序数组,在创建一个方法来进行二分
主要思想是:根据数组具有下标的特点来分别计算,最左边的索引,以及最右边的索引,在判断目标元素与中间元素的大小,如果目标元素小于中间元素,我们可…二分查找在编程中是用来查找目标元素在有序数组中的位置,并返回目标元素的索引
先给定一个有序数组,在创建一个方法来进行二分
主要思想是:根据数组具有下标的特点来分别计算,最左边的索引,以及最右边的索引,在判断目标元素与中间元素的大小,如果目标元素小于中间元素,我们可以判断出,目标元素在中间元素的左边,我们此时更新左右索引,在计算出新的中间元素,在次进行判断,如果目标元素不在数组中就会出现leftright的情况,退出循环,并返回-1.
public class Test_11_22 {public static void main(String[] args) {//二分查找//创建一个有序数组int [] arr {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};//查找元素int index binarySearch(arr, 19);System.out.println(index);}public static int binarySearch(int[] arr, int key) {//左边的索引int left 0;//右边的索引int right arr.length-1;while(left right){//计算中间索引int mid (left right)/2;if(arr[mid]key){//如果key大于中间元素则搜索右半部分left mid1;}else if(arr[mid]key){//如果key小于中间元素则搜索左半部分right mid-1;}else{//如果找到了则返回索引return mid;}}//如果没有找到则返回-1return -1;}
}
2.冒泡排序(这里以升序为例讲解)
冒泡排序是把一个无序的数组按照 升序 或者降序 来进行排序 主要的思想是双指针,通过比较前后元素的大小,如果满足判断条件就会交换元素的位置,第一次排序就会把最大的元素放在最后面,通过这样的方法在进行判断,一直到完成为止,
import java.util.Arrays;public class Test_11_22_2 {public static void main(String[] args) {int[] arr {5, 3, 8, 6, 2, 7, 1, 9, 4};//调用bubbleSort方法bubbleSort(arr);System.out.println(Arrays.toString(arr));}//冒泡排序public static void bubbleSort(int[] arr) {//在这个方法对数组的变动会影响到原数组,所以不需要返回值,在结果上直接打印就行了//在这里的循环次数是arr.length-1因为最后一次冒泡排序是不需要的//因为每一次冒泡排序都会将最大的元素放到最后所以不需要再进行一次冒泡排序for(int i 0;iarr.length;i){for(int j 0;jarr.length-i-1;j){if(arr[j]arr[j1]){//满足条件就交换前后两个元素的位置int temp arr[j];arr[j] arr[j1];arr[j1] temp;}}}}
}