/
MySet.java
126 lines (82 loc) · 1.59 KB
/
MySet.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
public class Myset
{
Node head = new Node();
private int size;
public Myset(){ head = null; size = 0; }
public boolean IsEmpty() { return size==0;}
public boolean IsMember(int n)
{
Node dummy = head;
while(dummy!=null)
{
if(dummy.mphone.number()==n)
return true;
dummy = dummy.next;
}
return false;
}
public void Insert(MobilePhone m)
{
Node newnode = new Node();
MobilePhone mp = new MobilePhone(m.number());
newnode.mphone = mp;
newnode.mphone.switchOn();
newnode.next = head;
head = newnode;
size++;
}
public void Delete(MobilePhone m)
{
if(size==0)
System.out.println("This set is empty");
Node dummy = head;
if(dummy.mphone.number()==m.number())
{
dummy = dummy.next;
head = dummy;
return;
}
while(dummy.next!=null)
{
if(dummy.next.mphone.number()==m.number())
{
dummy.next = dummy.next.next;
System.out.println("deleted phone with no. " + m.number());
return;
}
dummy = dummy.next;
}
System.out.println("no such item to delete");
}
public Myset Union(Myset a)
{
Myset union = new Myset();
Node dummy = head;
while(dummy!=null)
{
union.Insert(dummy.mphone);
dummy = dummy.next;
}
dummy = a.head;
while(dummy!=null)
{
union.Insert(dummy.mphone);
dummy = dummy.next;
}
return union;
}
public Myset Intersection(Myset a)
{
Myset inter = new Myset();
Node dummy = head;
while(dummy!=null)
{
if(a.IsMember(dummy.mphone.number()))
{
inter.Insert(dummy.mphone);
}
dummy = dummy.next;
}
return inter;
}
}