之前做过几份初级Java笔试题,基本上,遇到要求写一个冒泡算法的编程题的几率非常高(5次里至少得有3次吧)。
个人临场能力又不行,加上平时也不背代码,所以每次碰到这个心就凉了(基本上只要碰到是编程题心都凉)。那明天刚好也有个不太靠谱的面试机会,准备工作就在这里做好了。
以下是转的代码:
public class Bubble {
public static void sort(int[] values) {
int temp;
for (int i = 0; i < values.length; ++i) {
for (int j = 0; j < values.length - i - 1; ++j) {
if (values[j] > values[j + 1]) {
temp = values[j];
values[j] = values[j + 1];
values[j + 1] = temp;
}
}
}
for (int n = 0; n < values.length; n++) {
System.out.print(values[n] + ",");
}
}
public static void main(String[] args) {
int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5 };
sort(values);
}
}
个人觉得这段代码还算规范,抢记了一下。
然后我碰到个问题,上次笔试的时候,记得题目要求方法返回一个数组类型。基础知识不足,想当然地忘掉了JAVA是能返回数组类型的。那个错误的想法是,认为只能返回基本类型与引用类型。百度到一些人的讨论,结论是数组也归于引用类型,可以直接返回。
虽然这是个不必要的考虑,但我自己开始的想法是,先把数组转化成一个集合类型(如java.util.List接口的实现类),用到时再转换回数组。
这类操作涉及到的方法有:Arrays.asList() list.toArray() Arrays.toString() 等
记下,以后有需要时再查API文档。
那先到这了,明天好运。
2011-05-11 BY WPS