数组(2020-01-11)

为什么要有数组?

在生活当中,比如一箱牛奶有12包,你是整箱买还是单独买12包? -般情况下都是整箱购买,便于携带。可以将数组理解为一一个箱子,在数组里面可以存储同种数据类型的多个值,这样便于数据的使用。比如在进行方法的参数传递时,需要传递10个int类型的参数,如果没有数组的话,需要写10个参数非常麻烦,使用数组后,传递一一个数组即可。

数组的分类

■数组是存储同一种数据类型多个元素的集合。也可以看成是-个容器。

■数组里面既可以存储基本数据类型,也可以存储引用数据类型,但是只能存储同一种数据类型。.

■数组是一种简单的数据结构,线性的结构

■数组一旦创建其长度是不可变的

■数组是引用数据类型

数组的分类

■一维数组//我们大部分人使用的是一维数组

■二维数组

■三维数组

■多维数组

第一行:1,2,3,4,5//一维数组

第二行:6,7,8,9,10//二维数组

//使用静态初始化的方式创建一维数组

int[ ] i={1024,2048,256};

String[ ] str ={"java","python","c++","php"};

选择排序原理

将要排序的一组数字进行遍历。

第一次遍历,将第一个位置上的数字与后面的数字进行比较,如果后面的数字比第一个位置 上的元素小,则将两个数字的位置进行交换。

第二次遍历,将第二个位置上的数字与后面的数字进行比较,如果后面的数字比第二个位置上的元素小,则将两个数字的位置进行交换。

依次进行遍历、位置交换,直到这组数字排序完成。

比如要排序的数字是4.2,7,3,6


第-次遍历,将最小的2筛选出来: 2,4,7,3,6剩下数字: 4,7,3,6

第二次遍历,将最小的3筛选出来: 3,7,4,6剩下数字: 7,4,6

第三次遍历,将最小的4筛选出来: 4,7,6剩下数字: 7,6

第四次遍历,将最小的6筛选出来: 6,7

排序完成。

二分法查找原理

用二分法查找需要下面两个条件

1.没有重复元素。

2.已经排好顺序

假设给定一组排好序且没有重复元素的数字, 要从这些数字中快速找到x所在的位置,可以从这组数字的中间位置开始找,如果当前值与x相等,则查找成功,如果小于x则从后半段的中间位置继续找,如果大于x则从前半段的中间位置继公寻找,直到找到x所在的位置。

例如一个数组里面的元素有: 1,5,8,15,18,23,30

快速找到23对应的下标值

第一次:取得数组的中间位置的值15,15小于23,所以继续从后半段开始找,后半段的元素是18,23,30第二次:取得数组后半段元素中间位置的值23,23等于23,即找到23对应的下标值5

你可能感兴趣的:(数组(2020-01-11))