WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Linked Lists

 

zyx
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2019, 16:31     Titel: Linked Lists
  Antworten mit Zitat      
Hallo zusammen,

Es handelt sich um folgendes:

Gegeben ist eine Klasse:

Code:
classdef DLNodeSimple < handle
    % DLNodeSimple  A class to represent a double-linked list node.
    % Multiple DLNodeSimple objects may be linked together to create linked lists.
    % Each node contains a piece of data and provides access to the next
    % and previous nodes.
    properties
        data = []
    end
   
    properties(SetAccess = private)
        % Those properties can only be set within methods
        next = []
        prev = []
    end
    ...



Die Aufgabe:

Zitat:
Modifizieren Sie nun den Konstruktor so, dass er mit einem Cell-Array aufgerufen werden kann. Dabei soll jedes Element der Zelle in einem Knoten der verketteten Liste gespeichert werden. Verwenden sie dafür das Wissen, welches Sie im ersten Teil der Aufgabe erworben haben. Achten Sie darauf, dass der Konstruktor den ersten Knoten der erzeugten Liste zurückgibt.


Mein Code:

Code:
function node = DLNodeSimple(inp)
            % DLNodeSimple constructs a DLNode object.
            if nargin > 0
                if ~iscell(inp)
                    node.data = inp;
                else
                    % STUDENT WORK - BEGIN
                   
                    Inp = cell2mat(inp);
                   
                    for k = 1:numel(Inp)
                       
                        node.data = Inp(k);
                   
                    end
                   
                    % STUDENT WORK - END
                end
            end
        end



Mein Problem ist, dass ich nicht verstehe, wie ich jedes Element einem eigenen Knoten zuweisen soll. Mit meiner jetzigen Schleife überschreibe ich einfach mit jeder Iteration meine Daten...

Würde mich sehr freuen, wenn ihr mir helfen könntet! Smile

LG
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.06.2019, 16:46     Titel:
  Antworten mit Zitat      
Hallo,

vermutlich soll ein node-Array entstehen:
Code:
node(k).data = ...


Zudem sollte man wohl nicht vergessen, next und prev passend zu setzen.

Es scheint bei dieser und anderen Aufgaben ja um eine Vorlesung oder so zu gehen? Da fände ich es passender, den Dozenten oder einen Assistenten um Unterstützung zu bitten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
zyx
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.06.2019, 17:03     Titel:
  Antworten mit Zitat      
Hallo Harald,

Vielen Dank für deine schnelle Antwort!

Ja, da hast du Recht... Wenn die Möglichkeit besteht nutze ich sie natürlich auch. Diese blöden Feiertage eben Wink

Dein Tipp hat mich allerdings auch schon weit genug gebracht:

Code:
                   Inp = cell2mat(inp);
                   
                    for k = 1:numel(Inp)
                       
                        node.data{k} = Inp(k);
                   
                    end


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.