Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Lista simplu inlantuita

Sa se creeze o lista simplu-inlantuita din 3 noduri.

Analiza Programului
Listele simplu inlantuite sunt structuri de date dinamice, care, spre deosebire de vectori, nu sunt alocate ca blocuri de memorie omogene, ci ca elemente separate de memorie. Fiecare nod va contine adresa urmatorului nod si informatia utila. In acest mod, accesul la elementele listei se va face secvential.

Pentru crearea unei liste simplu inlantuite:
cream primul nod p;
cream celelalte noduri prin legarea fiecaruia de ultimul nod creat.

Construim clasa corespunzatoare nodului.

    public class Node
    {
        //valoare
        public object Data;
        //referinta catre urmatorul nod din lista
        public Node Next;

        public Node(object data)
        {
            Data = data;
        }
    }

Construim o clasa care sa puna la dispozitie crearea, adaugarea si vizualizarea nodurilor intr-o lista.

    public class LinkedList
    {
        Node head;
        Node current;

        public void Add(Node newNode)
        {
            if (head == null)
            {
                head = newNode;
                //nodul curent va fi primul nod
                current = head;
            }
            else
            {
                //nodul curent va referentia nodul nou adaugat
                current.Next = newNode;
                //noul nod curent va fi nodul nou adaugat
                current = current.Next;
            }
        }

        public void PrintNodes()
        {
            while (head != null)
            {
                //se prelucreaza informatia utila
                Console.WriteLine(head.Data);
                //se trece la urmatorul nod
                head = head.Next;
            }
        }
    }

Cream o lista cu trei noduri.

    class Program
    {
        static void Main(string[] args)
        {
            LinkedList lst = new LinkedList();
            lst.Add(new Node("Nod1"));
            lst.Add(new Node("Nod2"));
            lst.Add(new Node("Nod3"));
            lst.PrintNodes();

            Console.ReadLine();
        }
    }
Category: Uncategorized

Your email address will not be published. Required fields are marked *

*