GaneshRfromSpace Ответов: 1

Что такое эквивалент очереди POP ?


import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.Stack;

public class QS {
	 public static void main(String[] args) {
	        Scanner scan = new Scanner(System.in);
	        String input = scan.nextLine();
	        scan.close();
	char[] s = input.toCharArray();
	PriorityQueue<Character> queue=new PriorityQueue<Character>();
    Stack<Character> st = new Stack<Character>();
    for (char c : s) {
        st.push(c);
        queue.add(c);
    }
    System.out.println("STACK .... ");
    for(int i =0;i<input.length();i++){
    	System.out.println(st.pop());
    }
    System.out.println("QUEUE .... ");
    for(int i =0;i<input.length();i++){
    System.out.println(queue.poll());
    } 
    }
}


Что я уже пробовал:

ВВОД-ВЫВОД :

гоночный автомобиль
СТЕК....
Р
один
с
е
с
один
Р
ОЧЕРЕДЬ....
один
один
с
с
е
Р
Р

Я тоже ищу "гоночный автомобиль" в качестве вывода из очереди.. Где я ошибаюсь ?

1 Ответов

Рейтинг:
9

CPallini

Вы выбрали неправильный класс реализации, приоритетную очередь, ну, расставлять приоритеты некоторые входные данные по отношению к другим (в вашем случае используется алфавитный порядок в качестве критерия приоритета).
Используя, например, LinkedList реализуя класс, вы могли бы получить ожидаемый результат:

import java.util.LinkedList;
import java.util.Scanner;
import java.util.Stack;

public class QS {
   public static void main(String[] args) {
          Scanner scan = new Scanner(System.in);
          String input = scan.nextLine();
          scan.close();
  char[] s = input.toCharArray();
  LinkedList<Character> queue=new LinkedList<Character>();
    Stack<Character> st = new Stack<Character>();
    for (char c : s) {
        st.push(c);
        queue.add(c);
    }
    System.out.println("STACK .... ");
    for(int i =0;i<input.length();i++){
      System.out.println(st.pop());
    }
    System.out.println("QUEUE .... ");
    for(int i =0;i<input.length();i++){
    System.out.println(queue.poll());
    }
    }
}


Karthik_Mahalingam

5