This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Link.java
148 lines (88 loc) · 2.34 KB
/
Link.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
// Linked List with implementation in classes
public class Link {
public String bookName;
public int millionsSold;
public Link next; // all the links know is the address of the previous link
public Link(String bookName, int millionsSold) {
this.bookName = bookName;
this.millionsSold = millionsSold;
}
public static void main(String[] args) {
LinkList linkedlist = new LinkList();
linkedlist.insertFirstLink("Harry Potter", 27);
linkedlist.insertFirstLink("Don Jon", 50);
linkedlist.insertFirstLink("Amazing wonders", 14);
linkedlist.insertFirstLink("GhostBusters", 2);
linkedlist.display();
System.out.println(linkedlist.findLink("Amazing wonders"));
}
public void display() {
System.out.println("The book "+bookName+" was sold "+millionsSold+" million times");
}
}
class LinkList{
public Link firstLink;
public LinkList() {
firstLink = null;
}
public boolean isEmpty() {
if(firstLink == null)
return true;
else
return false;
}
public void insertFirstLink(String bookName, int millionsSold) {
Link newLink = new Link(bookName,millionsSold);
newLink.next = firstLink;
firstLink = newLink;
}
public Link removeFirst() {
Link refLink = firstLink;
if(!isEmpty())
firstLink = firstLink.next;
else
System.out.println("Empty Linked list");
return refLink;
}
public void display() {
Link theLink = firstLink;
while(theLink.next!=null) {
theLink.display();
System.out.println("Next Link "+theLink.next.bookName );
theLink = theLink.next;
System.out.println();
}
}
public Link findLink(String bookName) {
Link theLink = firstLink;
if(!isEmpty()) {
while(!theLink.bookName.equals(bookName)) {
if(theLink.next==null)
return null;
else
theLink = theLink.next;
}
}
else
System.out.println("Empty Linked List");
return theLink;
}
public Link removeLink(String bookName) {
Link curLink = firstLink;
Link preLink = firstLink;
while(!curLink.next.bookName.equals(bookName)) {
if(curLink.next==null)
return null;
else {
preLink = curLink;
curLink = curLink.next;
}
}
if(curLink == firstLink)
firstLink = firstLink.next;
else {
preLink.next = curLink.next;
}
return curLink;
}
}