复习:
数组的概念。
数组的声明和初始化
三种写法:静态初始化(两种),动态初始化(一种)。
元素的概念
数组的长度
数组的下标(index)
数组元素的访问
数组下标越界异常*
数组变量间的赋值。
数组的复制:(暂时)两种方法
System.arraycopy(src,start1,des,start2,length)
元素类型[] 新数组变量= Arrays.copyOf(src,newlength);
工具类:Arrays.
String info=Arrays.toString(数组名);
===========================================
数组的排序:
冒泡排序的基本思想:
在要排序的数组中,对当前还未排好序的范围
内的全部数,自上而下(自左到右)对相邻的两
个数依次进行比较和调整,让较大的往下沉(
或向右移),较小的往上冒(或向左移)。即:
每当两相邻的数比较后他们的顺序与排序要求
相反时,就将他们互换。
冒泡排序的改进:
对冒泡排序的常见的改进方法是 加入一个标志性的
变量,用于标志某一轮排序过程中是否有数据交换,
如果没有进行数据交换,则说明数据已经按照要求
排列好,可立即结束排序,避免不必要的比较过程。
冒泡排序的每一步详情
第一轮:找最大值
4>5 false {4,5,2,3,1}
5>2 true {4,2,5,3,1}
5>3 true {4,2,3,5,1}
5>1 true {4,2,3,1,5}--排出5
第二轮:找第二大
4>2 true {2,4,3,1,5}
4>3 true {2,3,4,1,5}
4>1 true {2,3,1,4,5}--排出4
第三轮:找第三大
2>3 false {2,3,1,4,5}
3>1 true {2,1,3,4,5}--排出3
第四轮:找第四大
2>1 true {1,2,3,4,5}--排出2
简单选择排序:基本思想如下
在要排序的数组中,选择出最小(或者最大)的一
个数与第一个位置的数交换;然后再剩下的数当
中再找最小(或最大)的与第二个位置的数交换
依次类推,直到第n-1个元素(倒数第二个)和第
n个元素(最后一个数)比较为止。
简单选择排序
原始数据 {4,5,2,3,1};
找出最小1 与4交换 {1,5,2,3,4}
找出最小2 与5交换 {1,2,5,3,4}
找出最小3 与5交换 {1,2,3,5,4}
找出最小4 与5交换 {1,2,3,4,5}
工具类Arrays里的排序方法:
Arrays.sort(数组名):对基本数据类型的数组
与引用类型的数组都可排序