▎第一题 排序都有哪几种方法?请列举。用JAVA 实现一个快速排序
答:排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序);快速排序的伪代码:
//使用快速排序方法对a[ 0 :n- 1 ]排序
从a[ 0 :n- 1 ]中选择一个元素作为middle,该元素为支点;
把余下的元素分割为两段left 和right,使得left 中的元素都小于等于支点,
而right 中的元素都大于等于支点;
递归地使用快速排序方法对left 进行排序;
递归地使用快速排序方法对right 进行排序;
所得结果为left + middle + right。
▎第二题 java的接口和C++的虚类的相同和不同
答:由于Java 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

