Свързан списък

Еднопосочен свързан списък, възлите се добавят в края на списъка

В тази статия бих искал да разгледам такава интересна структура от данни като свързан списък или както се нарича още динамичен списък. Нека първо дефинираме. Свързаният списък е динамична структура от данни, т.е. той е нестабилен и в хода на своята работа може да промени размера си в паметта на компютъра както нагоре, така и надолу. Мисля, че това е разбираемо. Да продължим. Свързаният списък е структура от данни, състояща се от възли, които в класическата версия съдържат две стойности: първата е всяка дадена (тези данни могат да бъдат всякакви: обикновена променлива, обект на клас и т.н.), а втората е указател към следващия възел в списъка (не е за нищо, че списъкът е свързан). Веднага ще направя резервация, че тази структура от данни не е проста, но трябва да я разберете - претендирате за титлата на добър специалист-програмист ?! Аз самият веднъж седях дни наред, за да се справя с него и да напиша програма, която го изпълнява. Друг момент е защо тази структура от данни има две имена: свързан списък и динамичен списък. Ще обясня. Свързан, защото всички възли в списъка са свързани с указатели, а динамичен, защото динамично по време на изпълнение на програмата можете да разширите тази структура, като добавите нови възли към списъка. За разлика от масива, бил той статичен или динамичен, динамичен списък може да бъде увеличен, докато програмата работи. Това е много големият му плюс. Но сега нека разгледаме всичко това на снимката, която се опитах да скицирам възможно най-удобно във Photoshop, така че всичко да е много ясно. Ние гледаме

свързан

И сега трябва да създадете самия обект "свързан списък", който ще съхранява тези саморефериращи се възли (Node - от англ. Node). Така го правим

Резултатът от програмата ще изглежда така