I'm having trouble to sort String in my linkedList, number i can easily compare to each other and make them ascending order or descending. 

```
public class Node
{
    private Shape shape; 
    private Node nextNode;
    private Node PreviousNode;
    private boolean front = false;

    Node() 
    {
       this.shape = null;
       this.nextNode = null;
       this.previousNode = null;
    }

    public Node(Shape shape, Node active)
    {
        this.shape = shape;
        this.nextNode = null;
        this.previousNode = null;
    }

    public Node addNode(Shape shape)
    getShape()
    setShape(Shape shape)
    getNextNode()
    setNextNode(Node nextNode)
    getPreviousNode()
    setPreviousNode(Node previousNode)
    public boolean front()
    public void setFront(boolean front)
}

```

---

The order should be like this (Square,rectangle,circle,oval,line) 

```
   public class linkedlist
   {
      Node front
      Node end

   public linkedlist()
   {
      this.setFront(null);
      this.end = null;
   }

   public void addFront(Shape shape)
   public void addNewNode(Shape shape)

   public boolean AscendingOrder(Node current)
   {
      Node compareNextNode = current.getNextNode();
      while(!compareNextNode.equals(null))
      {
         if(current.getShape().TypeOfShape == "SQUARE")
         {
             Node PreviousCurrent = current.getNextNode();

```

Then I have no idea how to build the algorithm to sort the rest of the shape
If anyone have any good reference that can help me, i'll be glad