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

来源:互联网 发布:手机知乎删除关注话题 编辑:程序博客网 时间:2024/05/16 15:56

某大型杀毒软件公司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;}}


0 0
原创粉丝点击