Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C# (http://www.go4expert.com/forums/c-sharp/)
-   -   Making own linear list (http://www.go4expert.com/forums/linear-list-t25186/)

plowc 8Mar2011 15:05

Making own linear list
 
Hello everyone,

I am new to this forum. I have a sort of simple task to do with the C#, well it looks like it is not so simple. I have to create my own CLinearList that has only CNodeLong and CNodeString elements in it. I thought I could solve this like it is writtens down below but the code does not work, it compiles, it runs but nothing is written in console.
I use Microsoft Visual Studio.
I think I am lost because i don't know what else can I do with the code.
If anyone can help me, I would appriciate it :)


CODE:
--------------------------------------------------------------------------------------------
Code:

using System;
using System.Collections.Generic;


namespace Naloga2
{
    class CNode
    {
        private CNode next;

        public CNode getNext()
        {
            return next;
        }
        public void setNext(CNode input)
        {
            next = input;
        }

        public CNode()
        {
            next = null;
        }

        public virtual void Print()
        {

        }
    }
   

    class CNodeLong : CNode
    {
        private long vrednost;

        public long getVrednost()
        {
            return vrednost;
        }
        public void setVrednost(long input)
        {
            vrednost = input;
        }

        public CNodeLong()
        {

        }

        public CNodeLong(long val)
        {
            vrednost = val;
        }

        new public virtual void Print()
        {
            Console.WriteLine(vrednost);
        }
    }

   
    unsafe class CNodeString : CNode
    {
        private char* vrednost;

        public char* getVrednost()
        {
            return vrednost;
        }
        public void setVrednost(char* input)
        {
            if (vrednost != null)
            {
                vrednost = null;
            }
            vrednost = input;
        }

        public CNodeString()
        {
        }

        public CNodeString(char* val)
        {
            vrednost = val;
        }

        public virtual void print()
        {
            Console.WriteLine(*vrednost);
        }
    }




    class CLinearList
    {
        private CNode FirstElement;
        private CNode endElement;
        private CNode tmp;

        public void Add(CNodeLong input)
        {
            tmp = new CNodeLong();
            tmp = input;
            endElement.setNext(tmp);
            endElement = endElement.getNext();
            tmp = null;
        }

        public void Add(CNodeString input)
        {
            tmp = new CNodeString();
            tmp = input;
            endElement.setNext(tmp);
            endElement = endElement.getNext();
            tmp = null;
        }

        public CNode Get()
        {
            if (tmp != null)
                tmp = null;
            tmp = FirstElement;
            FirstElement = FirstElement.getNext();
            tmp.setNext(null);
            return tmp;
        }

        public void Print()
        {
            tmp = FirstElement;
            while (tmp != null)
            {
                tmp.Print();
                tmp = tmp.getNext();
            }
            tmp = null;
        }

        public CLinearList()
        {
            FirstElement = new CNode();
            endElement = new CNode();
            tmp = null;
        }

        public CLinearList(CNode input)
        {
            FirstElement = new CNode();
            FirstElement = input;
            tmp = null;
        }




           
        unsafe public static void Main(String[] args)
        {
            CLinearList seznam = new CLinearList();
            seznam.Add(new CNodeLong(1234));
            seznam.Add(new CNodeLong(53425));
            seznam.Add(new CNodeLong(666));

            seznam.Print();
            seznam.Get();
            seznam.Print();

            //Console.WriteLine("Ole");

        }

    }

}



All times are GMT +5.5. The time now is 08:18.