数据结构之LinkList

来源:互联网 发布:歌斐资产 知乎 编辑:程序博客网 时间:2024/06/11 23:20

1、结构:




2、Link代码:


public class Link {public int iData;public double dData;public Link next;public Link(int id,double dd){iData = id;dData = dd;}public void displayLink(){System.out.println("{" + iData + " , " + dData + " } ");}}


3、LinkList代码:


public class LinkList {private Link first;public LinkList(){first = null;}public boolean isEmpty(){return (first == null);}public void insertFirst(int id, double dd){Link newLink = new Link(id, dd);newLink.next = first;first = newLink;}public Link deleteFirst(){Link temp = first;first = first.next;return temp;}public void displayList(){System.out.println("List (first -- > last);");Link current = first;while(current != null){current.displayLink();current = current.next;}System.out.println(" ");}public Link find(int key){Link current = first;while(current.iData != key){if(current.next == null){return null;}else{current = current.next;}}return current;}public Link delete(int key){Link current = first;Link previous = first;while(current.iData != key){if(current.next == null){return null;}else{previous = current;current = current.next;}}if(current == first){first = first.next;}else{previous.next = current.next;}return current;}}

4、运行代码:

public class LinkList2App {public static void main(String[] args) {LinkList theList = new LinkList();theList.insertFirst(22, 2.99);theList.insertFirst(44, 4.99);theList.insertFirst(66, 6.99);theList.insertFirst(88, 8.99);theList.displayList();Link f = theList.find(44);if(f != null){System.out.println("Found link with key " + f.iData);}else{System.out.println("Can't find link");}Link d = theList.delete(66);if( d != null){System.out.println("Deleted link with key " + d.iData);}else{System.out.println("Can't delete link");}theList.displayList();}}

5、结果:

List (first -- > last);{88 , 8.99 } {66 , 6.99 } {44 , 4.99 } {22 , 2.99 }  Found link with key 44Deleted link with key 66List (first -- > last);{88 , 8.99 } {44 , 4.99 } {22 , 2.99 } 


Reference:


[1] Robert Lalore(著) 计晓云,赵研,曾希,狄小菡(译), Java数据结构和算法(第二版),中国电力出版社,2004 :131-150





原创粉丝点击