Сортировка связанный список по значению объекта - PullRequest
0 голосов
/ 15 ноября 2018

Для задания мне было поручено создать систему заявок поддержки на основе приоритетов, которая содержит Имя пользователя, ID, Обработчик и Приоритет, однако заявки с более высоким приоритетом помещаются первыми в списке, с которым нужно иметь дело.

У меня есть три класса. Главное: где я добавляю / удаляю и меняю приоритет тикета. TicketSystem: содержит конструктор для заявки вместе с методами получения и установки LinkedList: имеет вставку, удаление printList и должен иметь sortList

До сих пор я определил, что алгоритм должен быть пузырьковой сортировкой, поскольку Priority - это значение типа int, но я не слишком уверен, как получить значение для приоритета, а затем отсортировать его.

public class TicketSystem {
private  String handler;
private  int priority;
private  String iD;
private  String creator;

public TicketSystem() {

}


public String getHandler ( ) {
    return handler;
}

public int getPriority () {
    return priority; 
}

public String getID () {
    return iD;
}
public String creator () {
    return creator; 
}

public void setID (String i)  {

    this.iD = i; 

}
public void setHandler (String h) {
    this.handler =  h; 
}
public void setPriority (int p ) {
this.priority = p; 
}

public String setCreator (String c) {
return this.creator = c;
}



public void addTicket( String h, int p, String c, String iD) {
    this.handler = h;
this.priority = p;
this.iD = iD; 
this.creator = c;
}




@Override
public String toString() {
   String output = "";
   output += "Handler: " + handler +", ";
   output += "Priority: " + priority + ", ";
   output += "Creator: "  + creator + ", ";
   output += "ID: " + iD + " ";
   return output;

}




}




 public class LinkedList {                                 
 private Node head;
 public LinkedList(TicketSystem ticket) {          
 head = new Node();                            
 head.ticket = ticket;                            
 head.link = null;                              
 }


   public boolean insertItem(TicketSystem ticket) { 
   Node n = new Node();                          
   Node new_node;
   new_node = head;                            
   while (new_node.link != null) {             
        new_node = new_node.link;                
   }
   n.ticket = ticket;                          
   n.link = null;                                
   new_node.link = n;                            
   return true; 

  }

   public void printList() {                   
   Node z = head;                         
   while (z!= null) {                           
       System.out.println(z.ticket.toString());
       z = z.link;
   }
 }

  public boolean deleteItem(TicketSystem ticket) { 
   if(ticket.equals(head.ticket)) {
       head = head.link;   
       return true; 
   } else {
       Node prevNode = head;         
       Node curNode = head.link;    
       while(curNode != null && !(curNode.ticket == ticket)) {
               prevNode = curNode;  
               curNode = curNode.link;  

       }
       if(curNode != null) {  
           prevNode.link = curNode.link;
           return true;
       } else {
           return false; 
       }
     }

  }

  /* sort list */

  public void sortList() {
   TicketSystem ts = new TicketSystem();
   }
   class Node {                                  
     private TicketSystem ticket;    
     private Node link;   
   }
 }       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...