1、一个byte 几个单位?【基础】
答:8bit。
2、常用UNIX 命令(Linux 的常用命令)(至少10 个)【基础】
答:ls pwd mkdir rm cp mv cd ps ftp telnet ping env more echo
3、后序遍历下列二叉树,访问结点的顺序是?【基础】
答:顺序为:DJGEBKNIFCA 。
4、排序都有哪几种方法?请列举。用JAVA 实现一个快速排序。【基础】
答:排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排
序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱
排序、基数排序);
快速排序的伪代码:
//使用快速排序方法对a[ 0 :n- 1 ]排序
从a[ 0 :n- 1 ]中选择一个元素作为middle,该元素为支点;
把余下的元素分割为两段left 和right,使得left 中的元素都小于等于支点,
而right 中的元素都大于等于支点;
递归地使用快速排序方法对left 进行排序;
递归地使用快速排序方法对right 进行排序;
所得结果为left + middle + right。
5、编程题:设有n个人依围成一圈,从第1个人开始报数,数到第m个人出
列,然后从出列的下一个人开始报数,数到第m个人又出列,…,如此反复到所
有的人全部出列为止。设n个人的编号分别为1,2,…,n,打印出出列的顺序;
要求用java 实现。【中等难度】
答:代码如下:
package test;
public class CountGame {
private static boolean same(int[] p,int l,int n){
for(int i=0;i
if(p[i]==n){
return true;
}
}
return false;
}
public static void play(int playerNum, int step){
int[] p=new int[playerNum];
int counter = 1;
while(true){
if(counter > playerNum*step){
break;
}
for(int i=1;i
while(true){
if(same(p,playerNum,i)==false) break;
else i=i+1;
}
if(i > playerNum)break;
if(counter%step==0){
System.out.print(i + " ");
p[counter/step-1]=i;
}
counter+=1;
}
}
System.out.println();
}
public static void main(String[] args) {
play(10, 7);
}
}
注意:本文归作者所有,未经作者允许,不得转载