Միայնակ կապակցված ցուցակ ընդդեմ կրկնակի կապակցված ցուցակ
Կապված ցուցակը տվյալների գծային կառուցվածք է, որն օգտագործվում է տվյալների հավաքածու պահելու համար: Կապակցված ցուցակը հիշողություն է հատկացնում իր տարրերին առանձին՝ իր հիշողության բլոկում, և ընդհանուր կառուցվածքը ստացվում է այս տարրերը որպես շղթայի օղակներ կապելով: Միայնակ կապակցված ցուցակը կազմված է հանգույցների հաջորդականությունից և յուրաքանչյուր հանգույց ունի հղում հաջորդականության հաջորդ հանգույցին: Կրկնակի կապակցված ցանկը պարունակում է հանգույցների հաջորդականություն, որոնցում յուրաքանչյուր հանգույց հղում է պարունակում հաջորդ հանգույցին, ինչպես նաև նախորդ հանգույցին:
Միայն կապակցված ցուցակ
Միայնակ կապակցված ցանկի յուրաքանչյուր տարր ունի երկու դաշտ, ինչպես ցույց է տրված Նկար 1-ում: Տվյալների դաշտը պահում է իրական պահված տվյալները, իսկ հաջորդ դաշտում՝ հղումը շղթայի հաջորդ տարրին: Կապակցված ցուցակի առաջին տարրը պահվում է որպես կապակցված ցուցակի գլխավոր:
Նկար 2-ը պատկերում է եզակի կապակցված ցուցակ երեք տարրերով: Յուրաքանչյուր տարր պահպանում է իր տվյալները, և բոլոր տարրերը, բացի վերջինից, պահում են հղում հաջորդ տարրին: Վերջին տարրը զրոյական արժեք է պահում իր հաջորդ դաշտում: Ցանկի ցանկացած տարր կարելի է մուտք գործել՝ սկսելով գլխից և հետևելով հաջորդ ցուցիչին, մինչև որ բավարարեք պահանջվող տարրը:
Կրկնակի կապակցված ցուցակ
Կրկնակի կապակցված ցանկի յուրաքանչյուր տարր ունի երեք դաշտ, ինչպես ցույց է տրված Նկար 3-ում:Առանձին կապակցված ցանկի նման, տվյալների դաշտը պահում է իրական պահված տվյալները, իսկ հաջորդ դաշտում հղում է կատարվում շղթայի հաջորդ տարրին: Բացի այդ, նախորդ դաշտում նշվում է շղթայի նախորդ տարրի հղումը: Կապակցված ցուցակի առաջին տարրը պահվում է որպես կապակցված ցուցակի գլխավոր:
Նկար 4-ը պատկերում է երեք տարրերով կրկնակի կապակցված ցուցակ: Բոլոր միջանկյալ տարրերը պահում են հղումներ առաջին և նախորդ տարրերին: Ցանկի վերջին տարրը ունի զրոյական արժեք իր հաջորդ դաշտում, իսկ ցուցակի առաջին տարրը պահում է զրոյական արժեք իր նախորդ դաշտում: Կրկնակի կապակցված ցուցակը կարող է առաջ շարժվել՝ հետևելով յուրաքանչյուր տարրի հաջորդ հղումներին և նույն կերպ կարելի է հետընթաց անցնել՝ օգտագործելով յուրաքանչյուր տարրի նախորդ հղումները:
Ո՞րն է տարբերությունը միայնակ կապակցված ցուցակի և կրկնակի կապակցված ցուցակի միջև:
Միայնակ կապակցված ցանկի յուրաքանչյուր տարր պարունակում է հղում ցուցակի հաջորդ տարրին, մինչդեռ կրկնակի կապակցված ցանկի յուրաքանչյուր տարր պարունակում է հղումներ դեպի հաջորդ տարրը, ինչպես նաև ցուցակի նախորդ տարրը: Կրկնակի կապակցված ցուցակները պահանջում են ավելի շատ տարածք ցանկի յուրաքանչյուր տարրի համար, և տարրական գործողությունները, ինչպիսիք են տեղադրումը և ջնջումը, ավելի բարդ են, քանի որ դրանք պետք է գործ ունենան երկու հղումների հետ: Բայց կրկնակի կապակցված ցուցակները թույլ են տալիս ավելի հեշտ մանիպուլյացիա, քանի որ այն թույլ է տալիս անցնել ցուցակը առաջ և հետընթաց ուղղություններով: