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