Java常用算法

来源:互联网 发布:辐射4低配优化 mod 编辑:程序博客网 时间:2024/06/04 19:54

1、冒泡法

原理:比较两个相邻的元素,将值大的元素交换至右端。

由此可见:N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即

public class BubbleSort {    public static void BubbleSort(int[] arr) {        int temp;//定义一个临时变量        for(int i=0;i<arr.length-1;i++){//冒泡趟数            for(int j=0;j<arr.length-i-1;j++){                if(arr[j+1]<arr[j]){                    temp = arr[j];                    arr[j] = arr[j+1];                    arr[j+1] = temp;                }            }        }    }


2、二分法

private int search(int[] arr,key){int start = 0;int end = arr.length;while(start<= end){  int middle = (start+end)/2;  if(key>arr[middle]){start = middle+1; }else if(key<arr[middle]){end = middle-1;}else{return middle;}return -1;}


原创粉丝点击