java 结构体链表_JAVA数据结构--链表

1 packageLinkedList;2

3 //linkList.java4 //demonstrates linked list5 //to run this program: C>java LinkListApp

6 7 classLink {8 public int iData; //data item

9 public double dData; //data item

10 public Link next; //next link in list11 //-------------------------------------------------------------

12

13 public Link(int id, double dd) //constructor

14 {15 iData = id; //initialize data

16 dData = dd; //('next' is automatically

17 } //set to null)18 //-------------------------------------------------------------

19

20 public void displayLink() //display ourself

21 {22 System.out.print("{" + iData + ", " + dData + "} ");23 }24 } //end class Link25 // //26

27 classLinkList {28 private Link first; //ref to first link on list29

30 //-------------------------------------------------------------

31 public LinkList() //constructor

32 {33 first = null; //no links on list yet

34 }35

36 //-------------------------------------------------------------

37 public boolean isEmpty() //true if list is empty

38 {39 return (first == null);40 }41

42 //-------------------------------------------------------------43 //insert at start of list

44 public void insertFirst(int id, double dd) { //make new link

45 Link newLink = newLink(id, dd);46 newLink.next = first; //newLink --> old first

47 first = newLink; //first --> newLink

48 }49

50 //-------------------------------------------------------------

51 public Link deleteFirst() //delete first item

52 { //(assumes list not empty)

53 Link temp = first; //save reference to link

54 first = first.next; //delete it: first-->old next

55 return temp; //return deleted link

56 }57

58 //-------------------------------------------------------------

59 public voiddisplayList() {60 System.out.print("List (first-->last): ");61 Link current = first; //start at beginning of list

62 while (current != null) //until end of list,

63 {64 current.displayLink(); //print data

65 current = current.next; //move to next link

66 }67 System.out.println("");68 }69 //-------------------------------------------------------------

70 } //end class LinkList71 // //72

73 public classLinkListApp {74 public static voidmain(String[] args) {75 LinkList theList = new LinkList(); //make new list

76

77 theList.insertFirst(22, 2.99); //insert four items

78 theList.insertFirst(44, 4.99);79 theList.insertFirst(66, 6.99);80 theList.insertFirst(88, 8.99);81

82 theList.displayList(); //display list

83

84 while (!theList.isEmpty()) //until it's empty,

85 {86 Link aLink = theList.deleteFirst(); //delete link

87 System.out.print("Deleted "); //display it

88 aLink.displayLink();89 System.out.println("");90 }91 theList.displayList(); //display list

92 } //end main()

93 } //end class LinkListApp94 // //

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值