zoukankan      html  css  js  c++  java
  • Javaday04(数组,冒泡、插入和选择排序)

    一、数组

        数组是一组类型相同的数据的集合。

      1.特性

        Java数组是引用类型,但数组内可以装入基本数据类型,也可以装入引用数据类型。

        数组与类,接口,注解,枚举并列,是引用数据类型中的一种。

        Java中的数组一经定义以后就无法修改

        数组在内存中是连续分配的,所以读取速度快

        数组内有索引值,从0开始。

     2.数组的维数

          如果数组中的元素都是单个数据,那么称为一维数组。

        

           如果一个数组中元素是一维数组,那么称为二维数组。

        

       3.数组的声明

          数组元素类型[] 变量名称;   数组元素类型 变量名称[];

    1 int[] arr;  
    2 int arr[];   
    3 String[] arr;
    4 String arr[];

       4.初始化方式

            数组中的元素如果为基本数据类型,默认值:整形为0,浮点型为0.0,字符型为u0000,布尔值为false 

                 如果是引用数据类型,那么默认值为null

          第一种方式:数组元素类型[] 变量名称 = new 数组元素类型[数组长度];

          第二种方式:数组元素类型[] 变量名称 = new 数组元素类型{用逗号隔开元素的具体值};

          第三种方式:数组元素类型[] 变量名称 = {用逗号隔开元素的具体值};

             

           数组是引用类型,栈中arr中保存数组的首地址,指向堆中的数组的具体内容。

              

           在创建数组时,一定要明确数组的长度。数组初始化的同时,也初始化在内存中;  

       6.数组的遍历(增强for循环)

          for(数据类型 变量名:数组变量名){

            这里的变量名就是每一次循环从数组中去除的值。

          }

        

     二、排序

      1.选择排序

          选择排序的主要思想是:找到未排序列表中的最小元素,加入有序列表的末尾,直到无序列表为空。

          

         现在将数组分为有序和无序两个队列,在开始排序时,有序的数量为0,全部为无序队列。

          

        

        

        以此类推:

          

      2.冒泡排序

          

         交换的轮式是外层循环,比较的次数就是内层循环

        

        两层for循环,外层循环次数n-1,内层循环n-1-i,内层循环两两比较。

      3.插入排序

        

        选择排序和插入排序类似,将数组分为有序队列和无序队列,默认数组第一个为有序数组,其余为无序数组,从无序数组中选取第一个与有序数组中的值比较,插入到合适位置。

         

                   

                   

     三. 多维数组

       多维数组的声明:  数组元素类型[][] 变量名 = new 数组元素类型[一维长度][二维长度];

       内存分析:

              

    1 // 等长二维数组
    2 int[][] arr = new int[3][3];
    3 
    4 // 不等长二维数组
    5 int[][] arr = new int[3][];
    6 
    7 arr[0] = new int[2];
    8 arr[1] = new int[3];
    9 arr[2] = new int[4];

     

         

  • 相关阅读:
    hdu 2680(最短路)
    hdu 1548(最短路)
    hdu 1596(最短路变形)
    hdu 1546(dijkstra)
    hdu 3790(SPFA)
    hdu 2544(SPFA)
    CodeForces 597B Restaurant
    CodeForces 597A Divisibility
    CodeForces 598E Chocolate Bar
    CodeForces 598D Igor In the Museum
  • 原文地址:https://www.cnblogs.com/heureuxl/p/13414781.html
Copyright © 2011-2022 走看看