Einfache Verkettung mit Objekten...(Anfänger)



  • Hiho... ich mache grade ein Fernstudium zum IT Manager und habe mal ein problem die aufgabestellung lautet:-Schreiben sie den Quelltext so um das das Ende der liste bekannt ist
    -Setzen sie einen Handle nach dem ahnängen neuer Elemente ein

    #include "stdafx.h"
    
    using namespace System;
    ref class listenelement{
    	String ^daten;
    	listenelement ^next;
    	listenelement ^last;
    
    public:
    	Void setDaten(String ^datenneu);
    	Void anhängen(String ^datenneu);
    	Void ausgeben();
    
    };
    Void listenelement::setDaten(String ^datenneu){
    	daten=datenneu;
    
    }
       Void listenelement::anhängen(String ^datenneu){
    
    	   if (next==nullptr){
    
    	   next=gcnew listenelement;
    	    next->daten=datenneu;
    
    	   }
    	   else
    		   next->anhängen(datenneu);
    	   Console::WriteLine("{0}objekte wurden angehangen",datenneu);
    
    }
    Void listenelement::ausgeben(){
    	Console::WriteLine("{0}",daten);
    	if (next!=nullptr)
    		next->ausgeben();
    
    	}
    
    int main(array<System::String ^> ^args)
    {
    	listenelement ^listenanfang;
    	listenanfang=gcnew listenelement;
    	listenanfang->setDaten("Element 1");
    
    	for (Int32 schleife=2;schleife<10;schleife++)
    		listenanfang->anhängen("Element"+schleife);
    
    	listenanfang->ausgeben();
    
        Console::Read();
        return 0;
    }
    

    das ist die Liste wenn das listenende bekannt ist soll eine Funktion zur ausgabe rückwerts erstellt werden Über einen rekusativen aufruf einer Methode.

    Nun zu meiner Frage bzw bitte .. . Mir fehlt ein Ansatz zur Lösung bzw ein Denk anstoß ich bin mir sicher es ist nicht schwer doch für mich momentan sehr erwirrend

    Danke im Vorfeld
    lg Crouwd



  • ich gebe dir mal die "class" vor

    ref class listenelement {
    	String ^daten;
    	listenelement ^next;
    public:
    	void datenSetzen(String ^datenneu); 
    	listenelement ^einfuegen(String ^datenneu);
    	void ausgeben();
    	void ausgaberueckwaerts();
    };
    void listenelement::datenSetzen(String ^datenneu) {
    	daten=datenneu;
    	Console::WriteLine("Daten {0} wurde eingefügt",daten);
    
    }
    

    jetzt sollte es doch schon "klick" machen, oder?



  • Oha.....crouwd->imBodenVersink();Wer die Definition von Void kennt ist klar im Vorteil XD Danke für den Denkanstoß jetz ergibt es einen Sin....! 😉


Anmelden zum Antworten