美文网首页
Day04--数组

Day04--数组

作者: pure_joy | 来源:发表于2019-06-15 17:01 被阅读0次
  • 数组的定义
    1、概念:同一种类型数据的集合。其实数组就是一个容器。
    2、数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
    3、格式
格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:int[] arr = new int[5];

格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,······};
示例:int[] arr = new int[]{3,5,1,7};
           int[] arr = {3,5,1,7};
  • 内存结构
    Java程序在运行时,需要在内存中分配空间。为了提高运算效率,对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
    栈内存:用于存储局部变量,当数据使用完,所占空间就会自动释放。
    堆内存:
    1、数组和对象,通过new建立的实例都存放在堆内存中。
    2、每一个实体都有内存地址值。
    3、实体中的变量都有默认初始化值。
    4、实体不在被使用,会在不确定的时间内被垃圾回收器回收
    方法区、本地方法区、寄存器。
  • 数组排序
    1、选择排序:内循环结束,最值出现在头角标位置
public static void selectSort(int[] arr)
    {
        for(int x=0; x<arr.length-1 ; x++)
        {
            for(int y=x+1; y<arr.length ; y++)
            {
                if(arr[x]>arr[y])
                {
                    int temp = arr[x];
                    arr[x] = arr[y];
                    arr[y] = temp;
                }
            }
        }
    }

2、冒泡排序:相邻的两个元素进行比较,如果符合条件换位。

public static void bubbleSort(int[] arr)
    {
        for(int x=0; x<arr.length-1; x++)
        {
            for(int y=0; y<arr.length-x-1; y++)//-x:让每一次比较的元素减少;-1:避免角标越界。
            {
                if(arr[y]>arr[y+1])
                {
                    int temp = arr[y];
                    arr[y] = arr[y+1];
                    arr[y+1] = temp;
                }
            }
        }
    }

Java中自带的排序:Arrays.sort(数组名);

  • 折半查找:提高效率,但是必须保证该数组是有序的数组
public static int halfSearch(int[] arr,int key)
    {
        int min,max,mid;
        min = 0;
        max = arr.length-1;
        mid = (max+min)/2;

        while(arr[mid]!=key)
        {
            if(key>arr[mid]) min = mid + 1;
            else if(key<arr[mid]) max = mid - 1;

            if(min>max) return -1;

            mid = (max+min)/2;
        }
        return mid;
    }
  • 二维数组:数组中的数组

相关文章

  • Day04--数组

    数组的定义1、概念:同一种类型数据的集合。其实数组就是一个容器。2、数组的好处:可以自动给数组中的元素从0开始编号...

  • Day04--数据库

    多表查询 事务 DCL:

  • 数组

    数组数组数组数组数组数组数组数组数组

  • day04--英语学习(不带动词的句子)

    动词跟副词组成的词组 句子分类 疑问句分带动词的跟不带动词的 名词(n) 形容词(a) 副词(adv) 介词短语介...

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

网友评论

      本文标题:Day04--数组

      本文链接:https://www.haomeiwen.com/subject/vhwvfctx.html