Skip to content

Commit 90c35cf

Browse files
authored
Add files via upload
1 parent 18357df commit 90c35cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+903
-0
lines changed

Lab4/JakubRadzikLab4.pdf

446 KB
Binary file not shown.

Lab4/Lab4.iml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>
Binary file not shown.
1.58 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1.22 KB
Binary file not shown.
Binary file not shown.
412 Bytes
Binary file not shown.
1.71 KB
Binary file not shown.
978 Bytes
Binary file not shown.
Binary file not shown.
891 Bytes
Binary file not shown.
1.5 KB
Binary file not shown.
2.46 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.

Lab4/src/Lab4.iml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" inherit-compiler-output="true">
4+
<exclude-output />
5+
<content url="file://$MODULE_DIR$">
6+
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
7+
</content>
8+
<orderEntry type="inheritedJdk" />
9+
<orderEntry type="sourceFolder" forTests="false" />
10+
</component>
11+
</module>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package Wyjatki;
2+
3+
public class EmptyQueueException extends Throwable {
4+
}

Lab4/src/Zadanie1/Element.java

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package Zadanie1;
2+
3+
import java.util.Objects;
4+
5+
public class Element<T> {
6+
private T data;
7+
private Element<T> nextElem;
8+
9+
public Element(T data) {
10+
this.data = data;
11+
}
12+
13+
public T getData() {
14+
return data;
15+
}
16+
17+
public void setData(T data) {
18+
this.data = data;
19+
}
20+
21+
public Element<T> getNextElem() {
22+
return nextElem;
23+
}
24+
25+
public void setNextElem(Element<T> nextElem) {
26+
this.nextElem = nextElem;
27+
}
28+
29+
@Override
30+
public boolean equals(Object o) {
31+
if (this == o) return true;
32+
if (!(o instanceof Element)) return false;
33+
Element<?> element = (Element<?>) o;
34+
return Objects.equals(data, element.data);
35+
}
36+
37+
@Override
38+
public int hashCode() {
39+
return Objects.hash(data);
40+
}
41+
}
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package Zadanie1;
2+
3+
public interface LinkedListOneWay<E> {
4+
void addEnd(E e);
5+
void insert(int pos, E e);
6+
E get( int pos );
7+
E set(int pos, E e);
8+
boolean contains( E e );
9+
int size();
10+
void clear();
11+
void deletePos( int pos);
12+
boolean delete( E e );
13+
E deleteEl(Element e);
14+
void wyswietlListe();
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
package Zadanie1;
2+
3+
public class OneWayLinkedListWithoutSentinel<T> implements LinkedListOneWay<T>{
4+
Element<T> head = null;
5+
6+
public OneWayLinkedListWithoutSentinel() {}
7+
8+
@Override
9+
public void addEnd(T t) {
10+
Element<T> newElem = new Element<>(t);
11+
if(head==null){
12+
head=newElem;
13+
newElem.setNextElem(newElem);
14+
}
15+
else{
16+
Element<T> tail = head;
17+
while(tail.getNextElem() != head){
18+
tail = tail.getNextElem();
19+
}
20+
tail.setNextElem(newElem);
21+
newElem.setNextElem(head);
22+
}
23+
}
24+
25+
@Override
26+
public void insert(int pos, T t) {
27+
28+
Element<T> actElem = head;
29+
Element<T> newElem = new Element<>(t);
30+
31+
if(pos == 0){
32+
newElem.setNextElem(head);
33+
34+
while (actElem.getNextElem()!=head){
35+
actElem = actElem.getNextElem();
36+
}
37+
head = newElem;
38+
actElem.setNextElem(newElem);
39+
40+
}
41+
else{
42+
for(int i =0; i<pos-1;i++){
43+
actElem = actElem.getNextElem();
44+
}
45+
newElem.setNextElem(actElem.getNextElem());
46+
actElem.setNextElem(newElem);
47+
}
48+
49+
50+
}
51+
52+
@Override
53+
public T get(int pos) {
54+
Element<T> actElem = head;
55+
for (int i = 0; i < pos; i++) {
56+
actElem = actElem.getNextElem();
57+
}
58+
return actElem.getData();
59+
}
60+
61+
@Override
62+
public T set(int pos, T t) {
63+
Element<T> actElem = head;
64+
for (int i = 0; i < pos; i++) {
65+
actElem = actElem.getNextElem();
66+
}
67+
T valBefore = actElem.getData();
68+
actElem.setData(t);
69+
return valBefore;
70+
}
71+
72+
@Override
73+
public boolean contains(T t) {
74+
Element<T> actElem = head.getNextElem();
75+
while (actElem!=head){
76+
if(actElem.getData()==t) return true;
77+
actElem = actElem.getNextElem();
78+
}
79+
return false;
80+
}
81+
82+
@Override
83+
public int size() {
84+
int pos=1;
85+
Element<T> actElem=head;
86+
87+
if(actElem==null) return 0;
88+
89+
actElem=actElem.getNextElem();
90+
while(actElem!=head)
91+
{
92+
pos++;
93+
actElem=actElem.getNextElem();
94+
}
95+
return pos;
96+
}
97+
98+
@Override
99+
public void clear() {
100+
head = null;
101+
}
102+
103+
@Override
104+
public void deletePos(int pos) {
105+
Element<T> actElem = head;
106+
if(pos == 0 || pos%size()==0){
107+
head = head.getNextElem();
108+
for (int i = 0; i < size()-1; i++) {
109+
actElem = actElem.getNextElem();
110+
}
111+
actElem.setNextElem(head);
112+
}else{
113+
for (int i = 0; i < pos-1; i++) {
114+
actElem = actElem.getNextElem();
115+
}
116+
actElem.setNextElem(actElem.getNextElem().getNextElem());
117+
}
118+
}
119+
120+
@Override
121+
public boolean delete(T t) {
122+
Element<T> actElem = head;
123+
124+
if (actElem.getData() == t) {
125+
for (int i = 0; i < size() - 1; i++) {
126+
actElem = actElem.getNextElem();
127+
}
128+
actElem.setNextElem(head.getNextElem());
129+
head = head.getNextElem();
130+
return true;
131+
}
132+
133+
for (int i = 0; i < size() - 1; i++) {
134+
if (actElem.getNextElem().getData() == t) {
135+
actElem.setNextElem(actElem.getNextElem().getNextElem());
136+
}
137+
actElem = actElem.getNextElem();
138+
}
139+
return false;
140+
}
141+
142+
@Override
143+
public T deleteEl(Element e) {
144+
Element<T> actElem = head.getNextElem();
145+
T data = null;
146+
if(head == e){
147+
data = head.getData();
148+
head = head.getNextElem();
149+
for (int i = 0; i < size(); i++) {
150+
actElem = actElem.getNextElem();
151+
}
152+
actElem.setNextElem(head);
153+
}else{
154+
actElem = head;
155+
while(actElem.getNextElem()!=e)
156+
{
157+
actElem=actElem.getNextElem();
158+
}
159+
data = actElem.getNextElem().getData();
160+
161+
actElem.setNextElem(actElem.getNextElem().getNextElem());
162+
}
163+
164+
return data;
165+
}
166+
167+
@Override
168+
public void wyswietlListe() {
169+
Element<T> actElem = head;
170+
if(size()==0) System.out.println("[]");
171+
172+
else{
173+
System.out.print('[');
174+
for (int i = 0; i < size(); i++) {
175+
System.out.print(actElem.getData()+", ");
176+
actElem = actElem.getNextElem();
177+
}
178+
System.out.print("]\n");
179+
}
180+
181+
}
182+
}

Lab4/src/Zadanie1/OneWayTest.java

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package Zadanie1;
2+
3+
public class OneWayTest {
4+
public static void main(String[] args) {
5+
OneWayLinkedListWithoutSentinel<Integer> list = new OneWayLinkedListWithoutSentinel<>();
6+
list.addEnd(0);
7+
list.addEnd(1);
8+
list.addEnd(2);
9+
list.addEnd(3);
10+
list.addEnd(4);
11+
list.addEnd(5);
12+
list.addEnd(6);
13+
System.out.println(list.get(3));
14+
list.wyswietlListe();
15+
System.out.println();
16+
System.out.println("AFTER");
17+
list.deletePos(0);
18+
list.deletePos(1);
19+
list.wyswietlListe();
20+
System.out.println("\nSET NA POZYCJI");
21+
list.set(3,10);
22+
list.set(0,10);
23+
list.wyswietlListe();
24+
System.out.println("\nINSERT NA POZYCJI");
25+
list.insert(0,20);
26+
list.insert(1,21);
27+
list.insert(5,21);
28+
list.wyswietlListe();
29+
System.out.println();
30+
System.out.println(list.contains(21));
31+
System.out.println(list.contains(6));
32+
System.out.println(list.contains(22222));
33+
System.out.println(list.size());
34+
list.clear();
35+
System.out.println(list.size());
36+
list.addEnd(0);
37+
list.addEnd(1);
38+
list.addEnd(2);
39+
list.addEnd(3);
40+
list.addEnd(4);
41+
list.addEnd(5);
42+
list.addEnd(6);
43+
list.wyswietlListe();
44+
list.delete(0);
45+
System.out.println();
46+
list.wyswietlListe();
47+
list.delete(1);
48+
System.out.println();
49+
list.wyswietlListe();
50+
51+
}
52+
}

Lab4/src/Zadanie2/Person.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package Zadanie2;
2+
3+
public class Person {
4+
private int number;
5+
private boolean wasMentioned;
6+
7+
public Person(int number) {
8+
this.number = number;
9+
this.wasMentioned = false;
10+
}
11+
12+
public int getNumber() {
13+
return number;
14+
}
15+
16+
public void setNumber(int number) {
17+
this.number = number;
18+
}
19+
20+
public boolean isWasMentioned() {
21+
return wasMentioned;
22+
}
23+
24+
@Override
25+
public String toString() {
26+
return ""+number;
27+
}
28+
29+
public void setWasMentioned(boolean wasMentioned) {
30+
this.wasMentioned = wasMentioned;
31+
}
32+
}

0 commit comments

Comments
 (0)