数组深化与提高

多维数组

二维数组

存储一维数组的数组

1)声明及初始化

1.int [ ] [ ] 数组名= {  {一维数组一},{一维数组二},...};

2..int [ ] [ ] 数组名=new int  [  一维数组的长度  ]  [  二维数组的长度 ]

3.数据类型[ ] [ ] 数组名=new int [二维数组的长度] [ ];

数组名[0] =new int[ ]{一维数组1};

数组名[1] =new int [ ]{一维数组2};

数组名[二维数组的长度-1] = new int[]{一维数组n};


2)二维数组的遍历

1.普通for循环  2.加强for循环  3.普通for循环+加强for循环

编写代码

运行结果



3)杨辉三角

除了第一列和对角线上的元素都为1外,其他元素都等于该元素上面的那个元素1加上元素1左面的那个元素

编写代码

运行结果


数据存储表格数据

  表格数据模型是计算机世界最普遍的模型,可以这么说,大家在互联网上看到的所有数据本质上都是“表格”,无非是表格之间互相套用。

表格         姓名           年龄          性别

                 张三           36               男

                  李四              26             女

编写代码


运行结果


数组的拷贝

数组的拷贝分为地址的拷贝和值的拷贝

1)地址的拷贝

将数组1的地址拷贝到数组2的地址上

数组2=数组1;

2)值的拷贝

数组1[ i]=数组2[ i];

i为数组1和数组2长度的最小值

3)System提供的数组复制的方法

格式:System.arraycopy(object src, int srcpos, object dest, int destpos, int length)

该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给dest数组的元素。


java.util.Arrary类

java.util.Arrary类:对数组操作的工具类,该工具类中包含一些静态方法可以对数组进行排序,查找,填充,复制等操作

Arrary类常用的方法:

1.//Arrays.toString(数组名),返回指定数组的内容

2.Arrays.equals(数组1, 数组2) 比较两个数组的内容是否完全相等(包括顺序和数值大小),返回值为布尔类型

3.Arrays.copyOf(int[] original, int newLength):复制指定的数组,用零截取或填充,以便复制具有指定的长度,

4.Arrays.fill(int[] a, int val) ,将指定的int值分配给指定的int数组的每个元素

    Arrays.fill(a, fromIndex, toIndex, val);将指定的int值分配给指定的int数组的指定范围的每个元素

5.Arrays.sort(数组名);给数组中的元素排序,升序

6.Arrays.binarySearch(int[]a, int key)使用二叉搜索算法指定的int数组的指定值,前提:待查找的数列必须是有序的

编写代码

运行结果


冒泡排序

1)冒泡排序原理

 算法重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。

2)冒泡排序基础算法

1.如有一个数列有 N(5)个元素,则至多需要 N-1(4)趟循环才

能保证数列有序

2.每一趟循环都从数列的第一个元素开始比较,依次比较相

邻的两个元素,比较到数列的最后

3.  如果前一个元素大于后一个元素,则使用第三变量交换

3)比较数列   75,87,56,45,49

编写代码及运行结果

3)冒泡排序优化算法

1.整个数列分成两部分:前面是无序数列,后面是有序数列。

2.不管是否有序,都要进行 N-1 趟循环,比较了一趟,没有发生交换,就是有序

3.每一趟比较都要比较到数组的最后,没有必要,只要比较到无序数列即可

比较数列   75,87,56,45,49


编写代码


运行结果


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,404评论 0 4
  • 第五章 数组 数组是一个基础的数据结构,它用来存储一组相同类型的元素的集合。数组非常有用,例如Java提供的集合...
    光剑书架上的书阅读 515评论 0 6
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 3,997评论 2 13
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 771评论 0 2
  • 不知何时起变成了一个咖啡爱好者,嗯,是个天天需要咖啡的家伙。有的习惯是有意培养,而有的习惯是被动上瘾,咖啡肯定是后...
    TainWoo阅读 1,692评论 0 3