Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.NoSuchElementException;
- import java.util.Scanner;
- class SLLNode<E> {
- protected E element;
- protected SLLNode<E> succ;
- public SLLNode(E elem, SLLNode<E> succ) {
- this.element = elem;
- this.succ = succ;
- }
- }
- class LinkedQueue<E>{
- // front i rear se linkovi do prviot i posledniot jazel
- SLLNode<E> front, rear;
- int length;
- public LinkedQueue() {
- clear();
- }
- public void clear() {
- front = rear = null;
- length = 0;
- }
- public boolean isEmpty () {
- return (length == 0);
- }
- public int size () { return length; }
- public E peek () {
- if (front == null)
- throw new NoSuchElementException();
- return front.element;
- }
- public void enqueue (E x) {
- SLLNode<E> latest = new SLLNode<E>(x, null);
- if (rear != null) {
- rear.succ = latest;
- rear = latest;
- } else
- front = rear = latest;
- length++;
- }
- public E dequeue () {
- if (front != null) {
- E frontmost = front.element;
- front = front.succ;
- if (front == null) rear = null;
- length--;
- return frontmost;
- } else
- throw new NoSuchElementException();
- }
- }
- public class MVR {
- public static void main(String[] args) {
- LinkedQueue<Gragjanin> lk = new LinkedQueue<>();
- LinkedQueue<Gragjanin> p = new LinkedQueue<>();
- LinkedQueue<Gragjanin> v = new LinkedQueue<>();
- Scanner br = new Scanner(System.in);
- int N = Integer.parseInt(br.nextLine());
- for (int i = 1; i <= N; i++) {
- String imePrezime = br.nextLine();
- int lKarta = Integer.parseInt(br.nextLine());
- int pasos = Integer.parseInt(br.nextLine());
- int vozacka = Integer.parseInt(br.nextLine());
- Gragjanin covek = new Gragjanin(imePrezime, lKarta, pasos, vozacka);
- if(covek.licna == 1)
- lk.enqueue(covek);
- else if(covek.pasos == 1)
- p.enqueue(covek);
- else if(covek.vozacka == 1)
- v.enqueue(covek);
- }
- LinkedQueue<Gragjanin> gotovi = new LinkedQueue<>();
- while(!lk.isEmpty()) {
- Gragjanin g = lk.dequeue();
- if(g.pasos == 1)
- p.enqueue(g);
- else if (g.vozacka == 1)
- v.enqueue(g);
- else
- gotovi.enqueue(g);
- }
- while(!p.isEmpty()){
- Gragjanin g = p.dequeue();
- if(g.vozacka == 1)
- v.enqueue(g);
- else
- gotovi.enqueue(g);
- }
- while(!v.isEmpty()){
- gotovi.enqueue(v.dequeue());
- }
- while(!gotovi.isEmpty())
- System.out.println(gotovi.dequeue().ime);
- }
- }
- class Gragjanin{
- String ime;
- int licna;
- int pasos;
- int vozacka;
- public Gragjanin(String ime, int licna, int pasos, int vozacka) {
- this.ime = ime;
- this.licna = licna;
- this.pasos = pasos;
- this.vozacka = vozacka;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement