今天的课程也是少的可怜,主要还是数组,数组的复制,数组的排序(三大排序)
数组的复制:
方法:System.arraycopy(src.srcIndex,desc,descIndex,lenth)
src:要复制的数组
srcIndex:从哪个位置开始复制
desc:目标数组
descIndex:从哪个位置插入
length:复制的原数组的长度
备注:复制不可以超过目标数组的长度
例子:
int [] src = {1,2,3,4,5};
int [] desc = {6,7,8,9,10};
System.out.println(Arrays.toString(desc));
System.arraycopy(src,2,desc,3,3);//报错,数组下标超出异常
System.out.println(Arrays.toString(desc));
三大排序:
1.选择排序:
原理:第一个和第二个、第三个等所有元素进行比较,确定第一次循环的最小值,然后将最小值放入第一个位置去,然后从第二个开始比,将较小值再找到后放入第二个位置,以此类推一直到最后,最后一个数就不需要比了;所以比较次数为长度-1次。
2.冒泡排序:
原理:相邻的两个元素进行比较,将较大值放在后一个数,这样第一圈比较完,最后一个数就是最大的数,这样每次循环都会讲最大的数放在后面,比较的次数-1,因为每次外循环结束后,最大的数已经放在了后面,就不需要再进行比较了。
3.插入排序
原理:选择数组中的第二个数也就是下标为1的数,和它前一个数比,如果小于它前一个数,则换位置,如果大于前一个数,则继续拿第三个数和它前二个数比,同上,比到最后一个数。