Pseudocode Insert eines Elem. in Lin. Liste
Results 1 to 25 of 25

Thread: Pseudocode Insert eines Elem. in Lin. Liste

  1. #1

    Title
    Veteran
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Pseudocode Insert eines Elem. in Lin. Liste

    Füge Ein (L,x) {
    wenn L=NIL
    dann {
    L <- x
    x.next <- NIL
    return JUHU! }

    else{
    x.next = L
    L <- x
    }
    return JUHU!
    }
    Wenn das lag mich trifft, lag ich zurück. Zurücklag ich dann. 8)

  2. #2
    Zentor's Avatar
    Title
    CO-Administrator
    Join Date
    Dec 2001
    Location
    Wien???
    Posts
    1,156
    Thanks
    2
    Thanked 9 Times in 6 Posts
    Es muss auch möglich sein an einer belieben Stelle der Liste ein Element einzufügen...

  3. #3

    Title
    Principal
    Join Date
    Nov 2001
    Posts
    59
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von Zentor
    Es muss auch möglich sein an einer belieben Stelle der Liste ein Element einzufügen...
    dann lässt man halt einen suchalgorithmus vorher laufen oder?

  4. #4
    Kenny's Avatar
    Title
    Special User
    Join Date
    Jan 2002
    Location
    wien 23
    Posts
    507
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hmm... was genau soll das da sein ?

    im skript is für einfügen in eine verkettete liste ein 20-zeiliger algorithmus, genauso für entfernen, zugriff usw... soll ma die alle praktisch auswendig können ???
    ciao.Markus

    http://www.mworx.at - Markus Jerko Photography

  5. #5
    Zentor's Avatar
    Title
    CO-Administrator
    Join Date
    Dec 2001
    Location
    Wien???
    Posts
    1,156
    Thanks
    2
    Thanked 9 Times in 6 Posts
    Naja es wird dadurch schon geringfügig komplexer weil bei z.B dem Einfügen eines Elements x zwischen die Elemente A und B der Nachfolger von A und der Vorgänger von B auf x zeigen müssen. Ist eh im Skripum oder versteh ich da was falsch und die Aufgabenstellung ist eine andere?

  6. #6

    Title
    Principal
    Join Date
    Nov 2001
    Posts
    59
    Thanks
    0
    Thanked 0 Times in 0 Posts
    die 20-zeiligen pseudocodes sind ja für doppeltverkettete listen. . . so wie ich das sehe



    btw: wollte er heute nicht den pseudocode fürs sequentielle oder fürs einfachverkettete hinschreiben?? hab da nicht so aufgepasst

  7. #7

    Title
    Veteran
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    der is nur für einfügen am anfang, am anderen arbeit ich noch
    Wenn das lag mich trifft, lag ich zurück. Zurücklag ich dann. 8)

  8. #8
    eXe's Avatar
    Title
    Principal
    Join Date
    Feb 2002
    Posts
    99
    Thanks
    0
    Thanked 0 Times in 0 Posts
    für einfachverkettete sinds nur 15
    aber man muß ja den für mehrfachverkettete (auswendig) können damit man dann den für einfachverkettete herleiten kann <- geil was?

  9. #9
    Kenny's Avatar
    Title
    Special User
    Join Date
    Jan 2002
    Location
    wien 23
    Posts
    507
    Thanks
    0
    Thanked 0 Times in 0 Posts
    na, was hat er denn gesagt, für wELCHE listen es gefragt wird ?

    sequentielle is ja viel kürzer, das is ja praktsich nur ein array, und das stell ich ma so in der art vor:

    füge_ein (L , x ,p)

    falls p<1 or p>n { fehler}

    für i=n.... p {

    L[i+1] = L[i] }

    L[p]=x

    n = n+1
    ciao.Markus

    http://www.mworx.at - Markus Jerko Photography

  10. #10

    Title
    Veteran
    Join Date
    Apr 2002
    Posts
    24
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Kann man das so schreiben mit x.next????
    Ist x schon ein neues Listenelement, das pointer hat???
    Wenn schon, dann muß man unterscheiden ob l nil ist, dann zeigt eben der x.next auf nil
    Wenn das erste element x ist also L.key >= x.key
    x.next = L
    L = x

    Solange ... L.next <> nil
    Wenn l.next.key >= x.key
    Ja, hmmm ...

  11. #11

    Title
    Veteran
    Join Date
    Apr 2002
    Posts
    24
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Er hat das mit dem p überhaupt nicht gemacht .. das ist es halt ... es schaut eher so aus, als ob man selber die position suchen muß bei einer sortierten liste

  12. #12

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    15
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ich würd gern mal wissen wann ein zeigt auf (<--) hin muss und wann ich ein = schreiben kann.
    Soweit ich das verstanden hab kommen = wenn ich zwei Zeiger gleichsetz.
    Aber wieso kommt dann L <-- L.next ? Sind doch beides Zeiger oder nicht?
    Also ist L.next / x.next ein Zeiger oder ein Element (mit Wert und Zeiger)?

  13. #13
    Kenny's Avatar
    Title
    Special User
    Join Date
    Jan 2002
    Location
    wien 23
    Posts
    507
    Thanks
    0
    Thanked 0 Times in 0 Posts
    also welche listen kommen überhaupt ?

    einfach verkettete ?
    ciao.Markus

    http://www.mworx.at - Markus Jerko Photography

  14. #14

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    15
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Sowohl einfach als auch doppelt verkettete können kommen.
    Wahrscheinlich einfügen eines Elements in eine sortierte Liste.

  15. #15
    SinusDiabolicus's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Wien
    Posts
    383
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ähm... also mir drängen sich da ein paar fragen auf :-)

    1.) NIL? is das ein anderer ausdruck für NULL?
    2.) zeigt auf (<--)? wo is das auf einmal her? davon war in der VO nie die rede, und im skriptum auch nicht, ich hoff doch nicht das man das verwenden muss! (im skriptum werden die zeiger ja auch alle mit '=' verknüpft...)

    war wohl so ne art pflicht-rep? *gg*

  16. #16

    Title
    Veteran
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    das letzte elem. zeigt nach/ins NIl (unendliche)
    zeigt auf hat er heut denk ich eingefährt!
    war aber blöd zu lesn entweder <- oder =
    pflicht rep für pseudocode schreibn uf jedenfall
    aber es is schon aus (22:10)
    Wenn das lag mich trifft, lag ich zurück. Zurücklag ich dann. 8)

  17. #17
    #!/usr/bin/perl's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Posts
    291
    Thanks
    0
    Thanked 1 Time in 1 Post
    bin zwar schon am eingschlafen, aber wenn eine doppelt verkettete Liste vorliegt, die ueberdies sortiert is, und man ein Element x in die sortierte Liste einfuegen soll und nacher wieder eine sortierte Liste da sein soll, dann wuerd ich einfach Element fuer Element ( h = referenz auf akt el ) durchgehen bis

    ( h.inhalt =< x && h.nachfolger.inhalt >= x )

    und die refs halt dann noch richtig setzten

    aber wie gsagt ich kann die augen kaum mehr offenhalten



    this is Unix land. In silent nights, you can hear Windows machines reboot...

  18. #18

    Title
    Principal
    Join Date
    Feb 2002
    Location
    wien
    Posts
    59
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von Iris
    Kann man das so schreiben mit x.next????
    Ist x schon ein neues Listenelement, das pointer hat???
    Ja, hmmm ...
    seite 25 steht inFüge_ein(x,p,L):
    Z8: neu = neues Listenelement(x);

    also muss ein neues listenelement erstellt und dann eingefügt werden... entweder an die stelle p oder eben einsortieren bei sortierter liste.

    warum auf einmal zwischen "<-" zeigt auf und "=" unterschieden wird, find ich ein wenig arg, weil im skriptum, in der vorlesung und in der übung da nie ein unterschied gemacht wurde. also werd ich beim test auch keinen machen.

    lg peter

  19. #19

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    15
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ok ich glaub diese <-- sind eh das gleiche wie =
    War nur kurzzeitig etwas verwirrend weil er plötzlich mit Zeigern usw. herumgewerkelt hat und im Skriptum nichts davon steht.

    Also lasst euch nicht auch noch verwirren und vergesst das mit den <-- ganz schnell wieder :-)

  20. #20

    Title
    Veteran
    Join Date
    Feb 2002
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    also was sagt ihr zu meiner Loesung???


    // einfuegen das Element p in einer sortierte liste

    solange (L <> NIL)
    {
    falls (L.next <> NIL)
    {
    falls (L.next.key >= p)
    {
    P.next = L.next; // wobei P der Zeiger vom neun element ist
    L.next = P;
    return ERFOLG;
    }
    L <--- L.next;
    }
    L.next <-- P;
    P.next <-- NIL;
    }

  21. #21
    Ronin's Avatar
    Title
    Principal
    Join Date
    Feb 2002
    Posts
    88
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von SuperT
    also was sagt ihr zu meiner Loesung???


    // einfuegen das Element p in einer sortierte liste

    solange (L <> NIL)
    {
    falls (L.next <> NIL)
    {
    falls (L.next.key >= p)
    {
    P.next = L.next; // wobei P der Zeiger vom neun element ist
    L.next = P;
    return ERFOLG;
    }
    L <--- L.next;
    }
    L.next <-- P;
    P.next <-- NIL;
    }
    sieht schon sehr gut aus. ich glaube aber das die

    vorvorletze zeile: L.next <-- P;
    und die vorletze: P.next <-- Nil;

    weggehört. Oder liege ich da falsch????????

  22. #22

    Title
    Veteran
    Join Date
    Feb 2002
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    also ich glaube du liegst da falsch denn diese beide zeilen werden erst dann ausgefuehrt wenn ...falls (L.next <> NULL) nicht ausgefuellt ist also falls das element am ende eingefuegt werden sollte dann muess ich L.nest also den zeiger auf denn neuen element zeigen lassen und denn neuen element also P auf NIL zeigen lassen...

  23. #23
    Ronin's Avatar
    Title
    Principal
    Join Date
    Feb 2002
    Posts
    88
    Thanks
    0
    Thanked 0 Times in 0 Posts
    aja. stimmt. da hast du recht.

    aber laut deinen überlegungen stehen die zwei befehle ausserhalb der letzen klammer

    falls (L<>NIL)
    {...
    }
    sonst
    {L.next <-- P;
    P.next <-- NIL;
    }

  24. #24

    Title
    Veteran
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    so seh ich das auch!

    kannst du sagn ob mein unsortierter stimmt SuperT???
    Wenn das lag mich trifft, lag ich zurück. Zurücklag ich dann. 8)

  25. #25

    Title
    Veteran
    Join Date
    Mar 2002
    Posts
    15
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Bin schon zu müde um mir das richtig anzusehen aber was ist wenn schon das erste Element größer ist als P?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •