Respuesta :

Answer:

Code is given below:

Explanation:

ode.java:

public class Node

{

String data;

Node next;

Node prev;

public Node(String data,Node next, Node prev){

this.next=next;

this.data=data;

this.prev=prev;

}

public Node(){

}

public String getData(){

return data;

}

public void setData(String data){

this.data=data;

}

public Node getNext(){

return next;

}

public void setNext(Node next){

this.next=next;

}

public Node getPrev(){

return prev;

}

public void setPrev(Node prev){

this.prev=prev;

}

}

Linked Queue.java:

public class LinkedQueues {

    Node head ;

   Node tail;

int size=0;

public Oueues(){

   this.head=null;

   this.tail=null;

}

public boolean isEmpty()

{

   return head == tail;

}    

 public int getSize()

    {

          return size;

  }    

 public void insert(String data){

   Node tmp = new Node(data,null,null);

    tmp.data=data;

    tmp.next=null;

    if(head==null){

        head=tail=tmp;

        head.prev=null;

    }

    else{

        tail.next=tmp;

        tmp.prev=tail;

        tail=tmp;

 }    

 }

 public String remove(){

  if(head.next==tail)

      return null;// list empty

  Node tmp=head.next;

  head.next=tmp.next;

  tmp.next.prev=head;

  list();

  return tmp.data;

 }

 public void list(){

     System.out.println("Queues");

     if(size==0){

         System.out.println("İs Empty");

     }

    Node tmp=head;

    while(tmp !=tail.getNext()){

        System.out.println(tmp.getVeri()+" ");

      tmp= tmp.getNext();

    }

     System.out.println();

 }

Linkedstack.java:

public class LinkedStack {

Node head = null;

Node tail = null;

int size=0;

     public int getSize() {

    return size;

      }

  public boolean isEmpty()

      {

   return head == null;

   }    

 public void Push(String data) {

    tail = head;

   head = new Node(data,null,null);

   head.data=data;

   head.next= tail;

   head.prev = null;

   if(tail != null) {

       tail.prev=head;

   }

   size++;

 }

 public void Pop() {

   if (!isEmpty()) {

       head = head.next;   // delete first node

       size--;

   } else {

       System.out.println("İs Empty");

   }

}

  public void Top() {

   Node tmp = head;

   while (tmp != null) {

       System.out.println(tmp.getData());

       tmp = tmp.getNext();

   }

}

 }

ArrayBasedQueue.java

import java.util.LinkedList;

import java.util.Queue;

 

public class ArrayBasedQueue

{

 public static void main(String[] args)

 {

   Queue<Integer> q = new LinkedList<>();

 

   // Adds elements {0, 1, 2, 3, 4} to queue

   for (int i=0; i<5; i++)

    q.add(i);

 

   // Display contents of the queue.

   System.out.println("Elements of queue-"+q);

   int removedele = q.remove();

   System.out.println("removed element-" + removedele);

 

   System.out.println(q);

   int head = q.peek();

   System.out.println("head of queue-" + head);

 

   int size = q.size();

   System.out.println("Size of queue-" + size);

 }

}

ArrayBasedStack.java:

import java.io.*;

import java.util.*;

 

public class ArrayBasedStack

{

static void stack_push(Stack<Integer> stack)

{

for(int i = 0; i < 5; i++)

{

stack.push(i);

}

}

 

// Popping element from the top of the stack

static void stack_pop(Stack<Integer> stack)

{

System.out.println("Pop :");

 

for(int i = 0; i < 5; i++)

{

Integer y = (Integer) stack.pop();

System.out.println(y);

}

}

 }

TestTimes.java:

public class TestTimes implements TestTimesInterface

{

 public static enum TimeUnits {};

 public static enum MemoryUnits{};

}

Driver.java:

public class driver

{

public static void main(String args[])

{

   Scanner s = new Scanner(System.in);

   LinkedStack y = new LinkedStack();

   LinkedQueues k = new LinkedQueues();

   ArrayBasedStack as=new ArrayBasedStack();

     ArrayBasedQueue as=new ArrayBasedQueue();

   FileWriter fwy;

   FileWriter fwk;

   File stack = new File("stack.txt");

   if (!stack.exists()) {

       stack.createNewFile();

   } else {

       System.out.println("already exists ");

   }

   BufferedReader reader = null;

   reader = new BufferedReader(new FileReader(stack));

   String line = reader.readLine();

   while (line != null) {

       y.Push(line = reader.readLine());

       System.out.println(line);

   }

   File queue = new File("queue.txt");

   if (!queue.exists()) {

       queue.createNewFile();

   } else {

       System.out.println("already exists ");

   }

   BufferedReader read = null;

   read = new BufferedReader(new FileReader(queue));

   String lines = read.readLine();

   while (lines != null) {

       lines = read.readLine();

       k.insert(lines);

       System.out.println(lines);

   }

int choice;

     System.out.println("1. Stack out- queue add");

     System.out.println("2. Stack add- queue out");

     System.out.println("3. Stack and queue ");

     System.out.println("4. File writer");

     choice = s.nextInt();

   switch (choice) {

       case 1:

           k.insert(s.next());

           k.list();

           y.pop();

           break;

       case 2:

         y.Push(s.next());

           y.Top();

         k.remove();

           break;

       case 3:

           y.Top();

           k.list();

           break;

       case 4:

           fwy = new FileWriter(stack);

           Node no = y.head;

           while (no.next != null) {

               fwy.write("\n" + no.data);

               no = no.next;

           }

           fwy.flush();

           fwy.close();

           fwk = new FileWriter(queue);

           Node noo = k.head;

           while (noo.next != null) {

               fwk.write("\n" + noo.data);

               noo = noo.next;

           }

           fwk.flush();

           fwk.close();

           break;

        }

 

}

}

ACCESS MORE