数组笔试题
2017-04-21 本文已影响0人
區啓東
题目一:写一个方法要求输入一个整型数组,将数组中的0去掉后返回一个新数组。例如输入数组int[] arr={1,13,45,5,0,0,16,6,0,25,4,17,6,7,0,15};要求将以上数组中的0项去掉,将不为0的值存入一个新数组,生成新的数组作为返回值:int[] newArr={1,13,45,5,16,6,25,4,17,6,7,15};
解答:创建数组的时候要有确定的长度
![](https://img.haomeiwen.com/i3069110/406c301eb782fa72.png)
题目二:写一个方法输入一个整型数组,要求打印出输入的数组所有元素之和,并打印出最大值和最小值。
解答:
1)sum
![](https://img.haomeiwen.com/i3069110/41e53e7e44271199.png)
2)max
![](https://img.haomeiwen.com/i3069110/58a4d11a8b0a9a7f.png)
3)min
![](https://img.haomeiwen.com/i3069110/5f600770e886ceaa.png)
题目三:数组排序
1)快速排序法:利用Arrays.sort()进行排序
![](https://img.haomeiwen.com/i3069110/9530bd4072c6f4ad.png)
2)冒泡排序法:两层循环逐一比较
![](https://img.haomeiwen.com/i3069110/cc72dcca067047fd.png)
3)选择排序法:找到最小值(最大值)的下标,跟数组第一个元素互换。
![](https://img.haomeiwen.com/i3069110/b58c6f5a7bd67a18.png)
4)插入排序算法:第二个for循环里面的元素跟前面的元素比较,满足条件调换位置。
![](https://img.haomeiwen.com/i3069110/e6778c875dd5f1af.png)
题目四:数组倒序
1)首尾换位法,效率最高
![](https://img.haomeiwen.com/i3069110/09c735574b0812ea.png)
2)利用ArrayList,逆向循环,生成list集合,然后转化为数组
![](https://img.haomeiwen.com/i3069110/e836b12a452d78a7.png)
3)利用Collections的reverse方法
![](https://img.haomeiwen.com/i3069110/f3113fa045b559ef.png)