LinkedList Wrong Display(string builder)

Posted by Chris on Stack Overflow See other posts from Stack Overflow or by Chris
Published on 2010-04-05T09:31:04Z Indexed on 2010/04/05 9:33 UTC
Read the original article Hit count: 226

Filed under:

Hello,

The following program is a basic linked list divided in 3 classes.
In the tester class (main) i add several numbers to the list (sorted).
But insteed of getting the numbers as a result i get the result: LinkedList.LinkedList
Is something wrong with the stringbuilder (the program was first in java where a string buffer was used, but that should be the same i think?)

LinkedListTester.cs

using System;

using System.Collections.Generic; using System.Linq; using System.Text;

namespace LinkedList { public class LinkedListTester { static void Main(string[] args) { LinkedList ll = new LinkedList(); ll.addDataSorted(5); ll.addDataSorted(7); ll.addDataSorted(13); ll.addDataSorted(1); ll.addDataSorted(17); ll.addDataSorted(8); Console.WriteLine(ll); } }

}/LinkedList/

LinkedList.cs

using System;

using System.Collections.Generic; using System.Linq; using System.Text;

namespace LinkedList { public class LinkedList { //toestand private LinkedListNode first; private LinkedListNode last;

    //gedrag
    public LinkedList()
    {
        first = null;
        last = null;
    }

    public void addDataInFront(int data)
    {
        first = new LinkedListNode(data, first);
        if (last == null){
            last = first;
        }
    }/*addDataInFront*/

    public void addDataToBack(int data)
    {
        if (first == null)
        {
            addDataInFront(data);
        }
        else
        {
            last.setNext(new LinkedListNode(data, null));
            last = last.getNext();
        }
    }/*addDataToBack*/

    public void addDataSorted(int data)
    {
        if (first == null || first.getData() > data)
        {
            addDataInFront(data);
        }
        else
        {
            LinkedListNode currentNode = first;
            while (currentNode.getNext() != null && currentNode.getNext().getData() < data)
            {
                currentNode = currentNode.getNext();
            }

            currentNode.setNext(new LinkedListNode(data, currentNode.getNext()));
            currentNode = currentNode.getNext();

            if (currentNode.getNext() == null)
            {
                last = currentNode;
            }
        }
    }/*addDataSorted*/

    public String toString()
    {
        StringBuilder Buf = new StringBuilder();
        LinkedListNode currentNode = first;
        while (currentNode != null)
        {
            Buf.Append(currentNode.getData());
            Buf.Append(' ');
            currentNode = currentNode.getNext();
        }
        return Buf.ToString();
    }/*toString*/



}/*LinkedList*/

}/LinkedList/

LinkedListNode:

using System;

using System.Collections.Generic; using System.Linq; using System.Text;

namespace LinkedList { public class LinkedListNode { //toestand private int data; private LinkedListNode next; private LinkedListNode previous;

    //gedrag
    public LinkedListNode(int data, LinkedListNode next)
    {
        this.data = data;
        this.next = next;
        this.previous = null;
    }

    public LinkedListNode(int data, LinkedListNode next, LinkedListNode previous)
    {
        this.data = data;
        this.next = next;
        this.previous = previous;
    }

    public LinkedListNode getNext()
    {
        return next;
    }

    public LinkedListNode getPrevious()
    {
        return previous;
    }

    public void setNext(LinkedListNode next)
    {
        this.next = next;
    }

    public void setPrevious(LinkedListNode previous)
    {
        this.previous = previous;
    }

    public int getData()
    {
        return data;
    }


}/*LinkedListNode*/

}/LinkedList/

© Stack Overflow or respective owner

Related posts about c#