• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Overige

Forum

  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 20 oktober 2026 om 20:45
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08

[c#] double linked list

  • glennox
  • 24 januari 2012 om 23:41
  • glennox
    Leerling
    Berichten
    118
    • 24 januari 2012 om 23:41
    • #1

    Beste mede forumers,

    Ik zoek jullie hulp voor mijn probleem. Door mijn docent programmeren is het aangeraden om eens uit te zoeken hoe een double linked list werkt, en deze vervolgens uit te programmeren zodat ik een voorsprong kan op bouwen voor komend jaar aangezien we dan een binary tree moeten uit programmeren om zo kennis over algoritmes op te doen.

    In theorie lijkt de double linked list helemaal niet zo moeilijk, maar in de praktijk valt het toch wel een stukje tegen. De eerste 2 nodes gingen vrij makkelijk omdat ik de logica hiervan zag

    Mijn probleem waar ik tegen aan loop is dat ik niet hoe ik nou kan zien of een getal achter gezet moet worden(hind) of voor gezet moet worden (fore) of ergens tussen gezet moet worden (tween)

    Wat ik van plan ben te doen is 2 listboxjes, 1 met random getallen en de ander met de door de linked list gesorteerde uitkomst.

    Ik hoop dat iemand de moeite wil en zou kunnen nemen om mij met dit probleem te helpen.

    Hier mijn klasse cnode

    PHP
    class cNode
        {
            public static cNode[] nar;
            public cNode pL, pR;
            public int pw;
    
    
            public static cNode v,m,a;
    
    
            public cNode(cNode L, int w, cNode R)
            {
                pL = L;
                pR = R;
                pw = w;
            }
    
    
            public static void mTween(int x)
            {
                 //nog verder uit te programeren
            }
    
    
            public static void mFore(int x)
            {
                m.pL = nar[x];
                nar[x].pR = m;
                v = nar[x];
    
    
            }
            public static void mHind(int x)
            {
                m.pR = nar[x];
                nar[x].pL = m;
            }
    
    
        }
    Meer tonen

    Hier onder mijn implementatie van c# double linked list.

    PHP
    //clear zooi
                lbU.Items.Clear();
                lbS.Items.Clear();
                //WAT TE DOEN
                //vul linker random
    
    
                Random r = new Random();
                int n = 4;
                for (int T = 0; T < n; T++)
                {
                    lbU.Items.Add(r.Next(0, 10));
                }
    
    
                //make dllist en voeg alle items in
                cNode.nar = new cNode[n];
                //MAAK nulde NODE (VOORSTE)
                cNode.nar[0] = new cNode(null, (int)lbU.Items[0], null);
                cNode.v = cNode.nar[0];
                cNode.m = cNode.v;
                cNode.a = cNode.v;
                //rest nodes aanmaken en plaatsen
                //maak node 1
                int tpw = (int)lbU.Items[1];
                cNode.nar[1] = new cNode(null,tpw, null);
                //fore, hind
                if (tpw > cNode.v.pw)
                {
                    //groter
                    cNode.mHind(1);
                }
                else
                {
                    //kleiner of gelijk
                    cNode.mFore(1);
                }
                //loop langs rest
                //2e en verder
                for (int i = 2; i < n; i++)
                {
                    int pw = (int)lbU.Items[i];
    
    
                    cNode.nar[i] = new cNode(null, (int)lbU.Items[i], null);
                    
                    while (cNode.m.pR != null)
                    {
                        if (pw > cNode.m.pw && cNode.m.pR != null)
                        {
                            cNode.m = cNode.m.pR;
                        }
                    }
                }
    
    
    
    
                //******
                //uitlezen;
                for (cNode.m = cNode.v; cNode.m.pR != null; cNode.m = cNode.m.pR)
                {
                    lbS.Items.Add(cNode.m.pw);
                }
                lbS.Items.Add(cNode.m.pw);
    Meer tonen
  • Gast, wil je besparen op je domeinnamen? (ad)
  • Darsstar
    Vreemd
    Berichten
    1.173
    • 25 januari 2012 om 17:31
    • #2

    Een linked list is een opject dat een verwijzing heeft naar de eerste node van de lijst die het voorstelt. Elke node heeft een verwijzing naar de volgende node in de lijst. Handig voor een stack bijvoorbeeld.

    Een doubly linked list is een linked list waar elke node een verwijzing naar de volgende EN vorrige node heeft. Je list object verwijst dus nog steeds naar de eerste node.

    Een double ended list is een list object waar je naar zowel de eerste en de laatste node van de lijst een verwijzing bevat. Erg fijn voor een queue.

    Hier kun je natuurlijk wanneer gewenst gesorteerde varianten van maken. Bij het inserten van een nieuwe waarde in de lijst begin je bij de eerste node op de lijst.
    - Als de nieuwe waarde kleiner (of hoe je de lijst wilt sorteren) is zet je list.first in newNode.next waarna je list.first overschrijft met newNode. (mFore())
    - Als de nieuwe waarde groter is loop je door de list tot het niet zo is en stop je de nieuwe tussen de twee nodes.
    - Als de nieuwe waarde groter is dan elke andere waarde in je lijst voeg je een nieuwe node toe op het eind.

    Het eerste wat mij opvalt is dat jij de node en list gecombineerd hebt. Het tweede is dat je variabele geen beschrijvende naam geeft. (Of ik ken C# conventies niet.)
    Als je een gesorteerde list wilt hebben, dan wil je niet dat programmeurs zelf methods als mFore() mTween() en mHind() aan kunnen roepen. Of toegang hebben tot pL en pR. Al snap ik dat je nu alleen wilt leren hoe het werkt.

    Je kunt hier een voorbeeldje aan nemen

    PHP
    class LinkedList {
    
    
        public Node first = null;
    
    
        public void insert(int value)
        {
            Node newNode = new Node(value);
    
    
            if (first == null)
            {
                first = newNode;
                return;
            }
    
    
            newNode.next = first;
            first = newNode;
        }
    }
    
    
    class SortedLinkedList : LinkedList {
    
    
        public void insert(int value)
        {
            if (first == null || value < first.value)
            {
                return base.insert(value);
            }
    
    
            Node newNode = new Node(value);
            Node current = first;
    
    
            while (current.next != null)
            {
                if (value < current.next.value)
                {
                    newNode.next = current.next;
                    current.next = newNode;
                    return;
                }
    
    
                current = current.next;
            }
    
    
            current.next = newNode;
        }
    }
    
    
    class Node {
    
    
        public int value;
        public Node next = null;
    
    
        public Node(int v)
        {
            value = v;
        }
    }
    Meer tonen


    Ps. ik ben onder andere bekend met JAVA, PHP en C niet met C# al heb ik wel snel wat dingen opgezocht. Ik ga niet garanderen dat er geen fouten in zitten en het gaat ook vooral om het idee.

    miauw!

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design