码迷,mamicode.com
首页 > 编程语言 > 详细

java算法篇总结

时间:2015-09-07 18:11:22      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

  1. 冒泡排序

    比较相邻元素,如果第一个比第二个大,那么交换他们的位置;每对相邻元素进行依次比较,最后的元素应该是最大的。

    int[] array = {10,13,12,8,11,6};
    
    //数组从小到大排序
    for (int i = 0; i < array.length - 1; i++) {
        for(int j = 0; j < array.length - i - 1;j ++){
            if (array[j] > array[j + 1]) {
                a = array[j];
                array[j] = array[j + 1];
                array[j + 1] = a;
            }
        }
    }
    System.out.println(Arrays.toString(array));//[6, 8, 10, 11, 12, 13]
  2. 比较排序

    依次取数组中元素,跟之后元素进行比较,如果大于之后的元素,那么交换他们的位置,通过这种方式进行比较过后的数组就是一个从小到大排序的数组。

    //数组从小到大排序
    for (int i = 0; i < array.length; i++) {
        for(int j = i + 1; j < array.length;j ++){
            if(array[i] > array[j]){
                a = array[i];
                array[i] = array[j];
                array[j] = a;
            }
        }
    }
    System.out.println(Arrays.toString(array));//[6, 8, 10, 11, 12, 13]
  3. 递归

    函数自身调用自身的方式称之为递归。

    public int[] sortArray(int[] array,int index){
        int a = 0;
        if(index <= array.length - 1){
            for(int i = index + 1; i < array.length;i ++){
                if(array[index] > array[i]){
                    a = array[index];
                    array[index] = array[i];
                    array[i] = a;
                }
            }
            sortArray(array,index + 1);
        }
        return array;
    }
    System.out.println(sortArray(array,0))
  4. 二分查找

    二分查找速度快,数据源需要有序排列

    //查询11在数组中的下标
    int queryParam = 11;
    Arrays.sort(array);//排序
    int i = 0;
    int start = 0;
    int end = array.length - 1;
    while (start <= end) {
        i = (start + end) / 2;
        if (queryParam == array[i]) {
            System.out.println(i);
            break;
        } else if (queryParam < array[i]){
            end = i;
        } else if (queryParam > array[i]){
            start = i;
        }
    }


java算法篇总结

标签:

原文地址:http://my.oschina.net/haochenhh/blog/502406

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!