From 9f2908cd461ebd3e1ba25a0c3d76bb6a1de32f32 Mon Sep 17 00:00:00 2001 From: Libkyy Date: Fri, 18 Mar 2022 19:41:10 +0200 Subject: [PATCH] linkedList done --- src/Phonebook/PhonebookTest.java | 4 +- src/Phonebook/YellowPagesTest.java | 4 +- src/ScuffedLinkedList/linkedlist.java | 154 +++++++++++++--------- src/ScuffedLinkedList/linkedlistTest.java | 33 +++++ src/ScuffedLinkedList/node.java | 4 +- src/Stopwatch/StopWatchTest.java | 4 +- src/voltag/voltTest.java | 8 +- 7 files changed, 142 insertions(+), 69 deletions(-) create mode 100644 src/ScuffedLinkedList/linkedlistTest.java diff --git a/src/Phonebook/PhonebookTest.java b/src/Phonebook/PhonebookTest.java index afd0b5b..5cdcd7b 100644 --- a/src/Phonebook/PhonebookTest.java +++ b/src/Phonebook/PhonebookTest.java @@ -1,8 +1,8 @@ package Phonebook; -import org.junit.Test; +import org.testng.annotations.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.*; public class PhonebookTest { diff --git a/src/Phonebook/YellowPagesTest.java b/src/Phonebook/YellowPagesTest.java index e7db63b..a356c87 100644 --- a/src/Phonebook/YellowPagesTest.java +++ b/src/Phonebook/YellowPagesTest.java @@ -1,8 +1,8 @@ package Phonebook; -import org.junit.Test; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; public class YellowPagesTest { diff --git a/src/ScuffedLinkedList/linkedlist.java b/src/ScuffedLinkedList/linkedlist.java index 9c22dc0..78eb333 100644 --- a/src/ScuffedLinkedList/linkedlist.java +++ b/src/ScuffedLinkedList/linkedlist.java @@ -2,79 +2,115 @@ package ScuffedLinkedList; public class linkedlist { - private node head; - private node tail; - private int size; + public node head; + public node tail; + public int size; + + linkedlist() + { + + } linkedlist(int value) { - this.head = new node(value); + node inserted =new node(value); + this.head = inserted; + this.tail = inserted; } + + public node getNode(int index) + { + + if(index == 0) + return head; + + else if(index == size) + return tail; + + + else if(index > size/2 && size > 10) + { + node current = tail; + for(int count = size; count > index-2; count--) + current = current.prev; + return current; + } + + else if(index <= size/2 || size < 10) + { + node current = head; + for(int count = 0; count < index-2; count++) + current = current.next; + return current; + } + else + return null; + } + + public void add(int value, int index) { - node inserted = new node(value); if(index == 0) { - if(head.next == null) - { - - } - else - { - inserted.next = head; - head.prev = inserted; - } - + addFirst(value); } - else if(index <= size) + else if(index == size) { - if(index < size/2) - { - int counter = 0; - node previous = head; - node current = previous.prev; - - while (counter < index - 1) { - counter++; - current = current.next; - previous = previous.next; - - } - inserted.next = current; - inserted.prev = previous; - - current.prev = inserted; - previous.next = inserted; - size++; - } - else - { - - int counter = size; - node previous = tail; - node current = previous.prev; - - while (counter > index) { - counter--; - current = current.prev; - previous = previous.prev; - - } - inserted.next = current; - inserted.prev = previous; - - current.prev = inserted; - previous.next = inserted; - } - + addLast(value); } - else if(index >= size) + else { - inserted.prev = tail; - tail.next = inserted; - tail = inserted; + node inserted = new node(value); + node target = getNode(index); + + inserted.next = target.next; + inserted.prev = target; + target.next = inserted; } size++; } + + public void addLast(int value) + { + node target = tail; + node inserted = new node(value); + + target.next = inserted; + inserted.prev = target; + tail = inserted; + } + + public void addFirst(int value) + { + node target = head; + node inserted = new node(value); + + target.prev = inserted; + inserted.next = target; + head = inserted; + } + + + public void delete(int index) + { + node target = getNode(index); + node prev,next; + + prev = target.prev; + next = target.next; + + if(prev == null) + head = next; + + else if(next == null) + tail = prev; + + else + { + prev.next = next; + next.prev = prev; + } + size--; + } } diff --git a/src/ScuffedLinkedList/linkedlistTest.java b/src/ScuffedLinkedList/linkedlistTest.java new file mode 100644 index 0000000..d221a97 --- /dev/null +++ b/src/ScuffedLinkedList/linkedlistTest.java @@ -0,0 +1,33 @@ +package ScuffedLinkedList; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class linkedlistTest +{ + + @Test + void getNode() + { + linkedlist L1 = new linkedlist(50); + + L1.add(49,0); + assertEquals(50, L1.getNode(1).getValue()); + L1.add(30,1); + assertEquals(30, L1.getNode(1).getValue()); + } + + + @Test + void delete() + { + linkedlist L2 = new linkedlist(10); + L2.addFirst(20); + L2.addFirst(30); + assertEquals(10, L2.tail.getValue()); + assertEquals(30, L2.head.getValue()); + L2.delete(L2.size); + + } +} \ No newline at end of file diff --git a/src/ScuffedLinkedList/node.java b/src/ScuffedLinkedList/node.java index 8ab78ad..3fcb9ab 100644 --- a/src/ScuffedLinkedList/node.java +++ b/src/ScuffedLinkedList/node.java @@ -20,7 +20,9 @@ public class node this.data = data; } - public int getData() + + + public int getValue() { return data; } diff --git a/src/Stopwatch/StopWatchTest.java b/src/Stopwatch/StopWatchTest.java index ff96fc5..d1b6869 100644 --- a/src/Stopwatch/StopWatchTest.java +++ b/src/Stopwatch/StopWatchTest.java @@ -1,10 +1,10 @@ package Stopwatch; -import org.junit.Test; +import org.testng.annotations.Test; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.testng.AssertJUnit.assertEquals; public class StopWatchTest { diff --git a/src/voltag/voltTest.java b/src/voltag/voltTest.java index ab24722..6891b50 100644 --- a/src/voltag/voltTest.java +++ b/src/voltag/voltTest.java @@ -1,14 +1,16 @@ package voltag; +import org.junit.jupiter.api.Test; + import java.util.Arrays; import java.util.Random; -import static org.junit.Assert.*; +import static org.junit.jupiter.api.Assertions.assertEquals; public class voltTest { - @org.junit.Test + @Test public void calc_mean() { Random r = new Random(); @@ -23,7 +25,7 @@ public class voltTest - @org.junit.Test + @Test public void report() { Random r = new Random();