1//数据类 2class DATA2 3{ 4String key; 5String name; 6int age; 7} 8//定义链表类 9class CLType 10{ 11DATA2 nodedata=new DATA2(); 12CLType nextNode=null;//下一个节点 13} 14 15 16 17 18功能一:追加节点; 19CLType CLAddEnd(CLType head ,DATA2 nodeData) 20{ 21//定义链表结构的变量 22CLType node,htemp; 23if((node=new CLType())==null) 24{ 25System.out.println("申请内存失败!"); 26return null; 27} 28else 29{ 30node.nodeData=nodeData;//保存数据 31node.nextNode=null;//设置节点引用为空,就是为表尾 32if(head==null) 33{ 34head=node; 35return head; 36} 37htemp=head;//将head赋给htemp 38while(htemp.nextNode!=null) 39{ 40htemp=htemp.nextNode; 41} 42//将node赋到htemp后面 43htemp.nextNode=node; 44return head; 45} 46} 47//功能二:插入头结点 48CLType CLAddFirst(CLType head,DATA2 nodeData) 49{ 50CLTpe node; 51if((node=new CLType())==null) 52{ 53System.out.println("申请内存失败!"); 54return null; 55} 56else 57{ 58node.nodeData=nodeData; //保存数据 59node.nextNode=head; 60head=node; //头引用指向新增的节点 61return head; 62} 63} 64//功能三:插入节点 65CLType CLInsertNode() 66{ 67}
在java中还有LinkList类可以实现链表的功能,在实现其下面的方法:
1public E elemnet(); //找到链表的头 2public boolean offer(E o) ;//将指定元素增加到链表的结尾 3public E peek();//找到但不删除链表的头 4public E poll(); //找到并删除链表的头 5public E remove();//检索并移除表头 6 7 8public void addFirst(E o);在表头增加元素 9public void addLast(E o);在表的结尾增加元素 10public boolean offer(E p);在表的结尾增加元素 11 12public E removeFirst();//删除链表的第一个元素 13public E removeLast();//删除链表的最后一个元素