网站建设公司天强科技,阜宁县网站建设,免费ppt下载网站有哪些,公众号怎么开通作者#xff1a;林子木 博客网址#xff1a;http://blog.csdn.net/wolinxuebin參考网址#xff1a;http://blog.csdn.net/sunsaigang/article/details/5751780描写叙述#xff1a;使用java实现简答的单链表的功能定义了一个MyList类包括的函数#xff1a;getHead()返回头…作者林子木 博客网址http://blog.csdn.net/wolinxuebin參考网址http://blog.csdn.net/sunsaigang/article/details/5751780描写叙述使用java实现简答的单链表的功能定义了一个MyList类包括的函数getHead()返回头指针。isEmpty() 推断是否为空addFirst(T element)在链表的头部增加元素。addLast(T element)在链表的尾部增加元。add(T fix,T element)在指定元素fix后插入新的元素remove(T element) 删除指定元素contains(T element)查看是否包括某元素printList()打印链表。其它使用泛型程序代码例如以下public class MyList{ //使用泛型/** 定义节点类Node*/private static class Node{T element;Node next;Node(T element,Node next){ //构造函数this.element element;this.next next;}Node(T element){ //构造函数this(element,null); //调用上面的构造函数}}//定义MyList成员private Node head; //定义头结点/**构造函数*/MyList(){head null;}/**返回头指针*/public Node getHead(){return head;}/**查看链表是否为空*/public boolean isEmpty(){return null head; //推断是否为空}/**将元素增加链表头*/public void addFirst(T element){if(isEmpty()) head new Node(element);else head new Node(element,head);}/**将元素增加链表尾*/public void addLast(T element){if(isEmpty()) head new Node(element);//假设为空else {Node node head; //不为空就使用查找知道表尾while(node.next ! null) node node.next;node.next new Node(element);}}/**在指定元素后增加新元素*/public boolean add(T fix,T element){if(isEmpty()) return false;else {Node node head; //定义中间变量while(node.element ! fix null ! node.next){//程序跳出条件为1、到表尾 2、找到这个元素node node.next; //查找是否含有元素}//这里採用直接使用while查找而推断在while外面。能够加高速度if(node.element fix){ //这里首先推断是否找到元素node.next new Node(element,node.next) ;//将element插入。并将element的next指向下一个元素return true;}elsereturn false;}}/**删除指定元素*/public boolean remove(T element){if(isEmpty()) return false;Node node head; //定义变量pre 和 nodeNode pre null;while(node.element ! element null ! node.next){ //程序跳出条件为1、到表尾 2、找到这个元素pre node; //保存前面的变量node node.next; //指向下一个元素}if(node.element element){if(null pre) //假设是指定元素是第一个元素head head.next;elsepre.next node.next;return true;}elsereturn false;}/**查看是否包括某元素*/public boolean contains(T element){if(isEmpty()) return false;else {Node node head;while(node.element ! element null ! node.next)//程序跳出条件为1、到表尾 2、找到这个元素node node.next; //不断指向下一个程序if(node.element element)return true;elsereturn false;}}/**打印链表*/public void printList(){if(isEmpty()){System.out.println(null);}else{for(Node nodehead; node!null;nodenode.next)System.out.print(node.element );System.out.println(); //打印回车}}public static void main(String[] args) {MyList list new MyList();//若不加便是为指定參数类型将会警告//使用了未经检查或不安全的操作。//有关具体信息, 请使用 -Xlint:unchecked 又一次编译。for(int i0; i10; i){list.addFirst(i);}list.printList(); //打印list.remove(0); //删除list.printList(); //打印list.addLast(0); //在尾部增加list.printList(); //打印list.add(7,-7); //在7之后插入-7list.printList(); //打印if(list.contains(-7))System.out.println(is in the list !);elseSystem.out.println(is not in the list !);}}