Enkelgekoppelde lys vs dubbelgekoppelde lys
Gekoppelde lys is 'n lineêre datastruktuur wat gebruik word om 'n versameling data te stoor. 'n Gekoppelde lys allokeer geheue afsonderlik aan sy elemente in sy eie blok geheue en die algehele struktuur word verkry deur hierdie elemente as skakels in 'n ketting te koppel. 'n Enkelgekoppelde lys bestaan uit 'n reeks nodusse en elke nodus het 'n verwysing na die volgende nodus in die ry. 'n Dubbelgekoppelde lys bevat 'n reeks nodusse waarin elke nodus 'n verwysing na die volgende nodus sowel as na die vorige nodus bevat.
Enkelgekoppelde lys
Elke element in 'n enkelgekoppelde lys het twee velde soos getoon in Figuur 1. Die dataveld bevat die werklike data wat gestoor is en die volgende veld bevat die verwysing na die volgende element in die ketting. Die eerste element van die gekoppelde lys word gestoor as die hoof van die gekoppelde lys.
Figuur 2 beeld 'n enkelgekoppelde lys met drie elemente uit. Elke element stoor sy data en alle elemente behalwe die laaste een stoor 'n verwysing na die volgende element. Laaste element hou 'n nulwaarde in sy volgende veld. Enige element in die lys kan verkry word deur by die kop te begin en die volgende wyser te volg totdat jy aan die vereiste element voldoen.
dubbelgeskakelde lys
Elke element in 'n dubbelgeskakelde lys het drie velde soos in Figuur 3 getoon. Soortgelyk aan enkelgekoppelde lys, bevat die dataveld die werklike data wat gestoor is en die volgende veld bevat die verwysing na die volgende element in die ketting. Daarbenewens bevat die vorige veld die verwysing na die vorige element in die ketting. Die eerste element van die gekoppelde lys word gestoor as die hoof van die gekoppelde lys.
Figuur 4 beeld 'n dubbelgekoppelde lys met drie elemente uit. Al die intermediêre elemente stoor verwysings na die eerste en vorige elemente. Laaste element in die lys hou 'n nulwaarde in sy volgende veld en die eerste element in die lys hou 'n nulwaarde in sy vorige veld. Dubbelgekoppelde lys kan vorentoe beweeg word deur die volgende verwysings in elke element te volg en kan op soortgelyke wyse agtertoe deurkruis word deur die vorige verwysings in elke element te gebruik.
Wat is die verskil tussen enkelgeskakelde lys en dubbelgeskakelde lys?
Elke element in die enkelgeskakelde lys bevat 'n verwysing na die volgende element in die lys, terwyl elke element in die dubbelgeskakelde lys verwysings bevat na die volgende element sowel as die vorige element in die lys. Dubbelgekoppelde lyste benodig meer spasie vir elke element in die lys en elementêre bewerkings soos invoeging en uitvee is meer kompleks aangesien dit twee verwysings moet hanteer. Maar dubbelskakellyste laat makliker manipulasie toe, aangesien dit die lys vorentoe en agtertoe kan deurkruis.