• Day09_数组(上)


    Day09_数组(上)

    数组有默认的初始值

    基本数据类型默认值:

    byte: 0

    short:0

    int: 0

    long: 0L

    float: 0.0F

    double: 0.0

    char: 'u0000'

    Boolean: false

    引用数据类型默认值:

    null

    增强for循环(foreach循环)

    //优点:简单
    //缺点:不能进行与索引相关的操作
    //scores是数组
    int[] scores=new int[10];
    scores={12,4,56,7,89,80}
    for(int s:){
      System.out.println(s);
    }
    

    数组的优点缺点

    优点:遍历快,查询快

    缺点:删除,增加,效率低,原因:需要移动大量的元素

    冒泡排序(得名由来)

    这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

    快速排序

    import java.lang.reflect.Array;
    import java.util.Arrays;
    
    public class FastSort {
        public static void main(String[] args) {
            int[] arr={12,4,5,67,34,23,879,46,4,-79,-67};
            fastsort(arr,0,arr.length-1);
            System.out.println(Arrays.toString(arr));
        }
    
        //快速排序方法,三个参数,arr要排序的数组范围是arr[low]-arr[high]
        public static void fastsort(int[] arr,int low,int high){
            if(low>=high){
                return;
            }
            int i = low;
            int j = high;
            int key= arr[i];
            while(i<j){
                while(key<=arr[j]&&i<j){
                    j--;
                }
                if (i<j){
                    int t;
                    t=arr[j];
                    arr[j]=arr[i];
                    arr[i]=t;
                }
    
                while(arr[i]<=key&&i<j){
                    i++;
                }
                if(i<j){
                    int t;
                    t=arr[j];
                    arr[j]=arr[i];
                    arr[i]=t;
                }
    
                //对key左侧的数组继续操作
                fastsort(arr,low,i-1);
                
                //对key右侧的数组继续操作
                fastsort(arr,i+1,high);
            }
        }
    }
    

    输出:

    [-79, -67, 4, 4, 5, 12, 23, 34, 46, 67, 879]
    
  • 相关阅读:
    命令行扩展功能
    bash的工作特性及其使用方法
    Linux的管理类命令及其使用方法
    命名规范
    CSS后代选择器可能的错误认识
    两个viewport的故事(第二部分)
    两个viewport的故事(第一部分)
    移动前端开发之viewport的深入理解
    mybatis 详解(五)------动态SQL
    mybatis 详解(四)------properties以及别名定义
  • 原文地址:https://www.cnblogs.com/gaoyao/p/13379009.html
Copyright © 2020-2023  润新知