您的位置:首页 > 移动开发 > Android开发

暑期实习4月份笔试试题解答-Android 工程师(2)

2014-04-10 22:04 302 查看
某大型杀毒软件公司2014年4月份笔试试题解答,第二小题,实现Linkist,具体要求见程序,只实现了几个基本的功能,请大家指出不足之处。转载请注明出处。

/*	程序来源:实习生招聘
* 	源文件名称:LinkList.java
*	要  点:
*		写一个java程序实现LinkList类。
*		最基本必须实现add、remove、get、size方法。
*/

public class LinkList{
public static void main(String[] args){
LinkList ll = new LinkList();
ll.add(new String("123"));
ll.add(new String("321"));
ll.add(new Integer(88));
System.out.println("size: "+ll.size());
int i = 1;
while(i<=ll.size())
System.out.println( ll.get(i++));
ll.remove(1);
System.out.println( ll.get(1));
System.out.println("size: "+ll.size());
}

class Node{
Object o = null;
Node child = null;
Node father = null;
public Node(Object o){
this.o = o;
}
}

Node head = new Node(new Object());
Node end = head;
int size = 0;

public void add(Object o){
Node node = new Node(o);
node.father = end;
end.child = node;
end = node;
size++;
}

public Object get(int num){
Node node = null;
Object o = null;
if(size == 0)
System.out.println("size is 0");
else if(num>size)
System.out.println("num > size");
else if(num<=0)
System.out.println("num must > 0 ");
else{
node = head.child;
for(int i = 1;i<num;i++)
node = node.child;
o = node.o;
}
return o;
}

public Object remove(int num){
Node node = null;
Object o = null;
if(size == 0)
System.out.println("size is 0");
else if(num>size)
System.out.println("num > size");
else if(num<=0)
System.out.println("num must > 0 ");
else if(num != size){
node = head.child;
for(int i = 1;i<num;i++)
node = node.child;
node.father.child = node.child;
node.child.father = node.father;
size--;
o = node.o;
}else{
node = end;
end.father.child = null;
end = node.father;
size--;
o = node.o;
}
return o;
}

public int size(){
return size;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息