Very cool
This commit is contained in:
93
src/ScuffedLinkedList/LetterQ.java
Normal file
93
src/ScuffedLinkedList/LetterQ.java
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
package ScuffedLinkedList;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.Stack;
|
||||||
|
|
||||||
|
public class LetterQ
|
||||||
|
{
|
||||||
|
int rear,front;
|
||||||
|
public int[] buffer;
|
||||||
|
LetterQ()
|
||||||
|
{
|
||||||
|
this(10);
|
||||||
|
}
|
||||||
|
LetterQ(int size)
|
||||||
|
{
|
||||||
|
buffer = new int[size];
|
||||||
|
rear = -1;
|
||||||
|
front = 0;
|
||||||
|
}
|
||||||
|
public void enqueue(int value)
|
||||||
|
{
|
||||||
|
if(rear < buffer.length)
|
||||||
|
buffer[++rear] = value;
|
||||||
|
else
|
||||||
|
System.out.println("Queue full!");
|
||||||
|
|
||||||
|
}
|
||||||
|
public int dequeue()
|
||||||
|
{
|
||||||
|
if(rear == -1) {
|
||||||
|
System.out.println("Queue Empty!");
|
||||||
|
buffer = new int[buffer.length];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
System.out.println(buffer[0]);
|
||||||
|
buffer[0] = 0;
|
||||||
|
shift();
|
||||||
|
rear--;
|
||||||
|
|
||||||
|
}
|
||||||
|
return buffer[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
public void shift() {
|
||||||
|
Stack<Integer> temp = new Stack<>();
|
||||||
|
for (int i = buffer.length-1; i > -1; i--)
|
||||||
|
{
|
||||||
|
if (buffer[i] != 0)
|
||||||
|
temp.push(buffer[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
for (int i = 0; i < buffer.length ; i++)
|
||||||
|
if(!temp.isEmpty())
|
||||||
|
buffer[i] = temp.pop();
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Queue SearchNDestroy(Queue<Integer> container, int target)
|
||||||
|
{
|
||||||
|
int temp;
|
||||||
|
Stack<Integer> buffer = new Stack<>();
|
||||||
|
while(!container.isEmpty())
|
||||||
|
{
|
||||||
|
temp = container.poll();
|
||||||
|
if(temp != 0 && temp != target) {
|
||||||
|
buffer.push(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
while(!buffer.isEmpty())
|
||||||
|
container.offer(buffer.pop());
|
||||||
|
|
||||||
|
return container;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return Arrays.toString(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
43
src/ScuffedLinkedList/LetterQTest.java
Normal file
43
src/ScuffedLinkedList/LetterQTest.java
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
package ScuffedLinkedList;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.Queue;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class LetterQTest {
|
||||||
|
|
||||||
|
public static LetterQ Quii = new LetterQ();
|
||||||
|
@Test
|
||||||
|
void enqueue() {
|
||||||
|
Quii.enqueue(10);
|
||||||
|
assertEquals(10,Quii.buffer[0]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void dequeue() {
|
||||||
|
System.out.println(Quii);
|
||||||
|
Quii.enqueue(1);
|
||||||
|
Quii.enqueue(12);
|
||||||
|
Quii.enqueue(123);
|
||||||
|
Quii.enqueue(1234);
|
||||||
|
Quii.enqueue(1245);
|
||||||
|
System.out.println(Quii);
|
||||||
|
Quii.dequeue();
|
||||||
|
Quii.dequeue();
|
||||||
|
Quii.dequeue();
|
||||||
|
Quii.dequeue();
|
||||||
|
Quii.dequeue();
|
||||||
|
Quii.dequeue();
|
||||||
|
System.out.println(Quii);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shift() {
|
||||||
|
int[] test = {1,2,3,4,5,6};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user