
Բովանդակություն:
2025 Հեղինակ: Lynn Donovan | [email protected]. Վերջին փոփոխված: 2025-01-22 17:27
Ստորև բերված է պարզ ներդիր տեսակավորել ալգորիթմ համար կապակցված ցուցակ . 1) Ստեղծեք դատարկ տեսակավորված (կամ արդյունք) ցուցակը 2) Անցնել տրվածը ցուցակը , հետևեք յուրաքանչյուր հանգույցի համար: ա) Ներդրեք ընթացիկ հանգույցը տեսակավորված ճանապարհ ներս տեսակավորված կամ արդյունք ցուցակը . 3) Տրվածի ղեկավարի փոփոխություն կապակցված ցուցակ գլխին տեսակավորված (կամ արդյունք) ցուցակը.
Ինչ վերաբերում է դրան, կարո՞ղ եք տեսակավորել կապակցված ցուցակը:
Միաձուլել տեսակավորել հաճախ նախընտրելի է կապակցված ցուցակի տեսակավորում . a-ի դանդաղ պատահական մուտքի կատարումը կապակցված ցուցակ ստիպում է որոշ այլ ալգորիթմներ (օրինակ՝ արագ տեսակավորումը) վատ աշխատել, իսկ մյուսները (օրինակ՝ հեփսորտը) ամբողջովին անհնարին: Թող գլուխը լինի առաջին հանգույցը կապակցված ցուցակ պետք է տեսակավորվի, իսկ headRef-ը լինի դեպի գլխի ցուցիչը:
Երկրորդ, ինչպե՞ս եք դասավորում կապակցված ցուցակը՝ օգտագործելով փուչիկների տեսակավորումը: Պղպջակների տեսակավորումը կատարելու համար մենք հետևում ենք հետևյալ քայլերին.
- Քայլ 1. Ստուգեք՝ արդյոք 2 հարակից հանգույցների տվյալները աճման կարգով են, թե ոչ: Եթե ոչ, փոխեք 2 հարակից հանգույցների տվյալները:
- Քայլ 2. Անցում 1-ի վերջում ամենամեծ տարրը կլինի ցուցակի վերջում:
- Քայլ 3. Մենք ավարտում ենք օղակը, երբ բոլոր տարրերը սկսվում են:
Այսպիսով, ինչպե՞ս եք դասավորում տվյալները կապված ցանկում:
Ալգորիթմ
- Ստեղծեք դասի հանգույց, որն ունի երկու հատկանիշ՝ տվյալներ և հաջորդ:
- Ստեղծեք մեկ այլ դասի SortList, որն ունի երկու հատկանիշ՝ գլուխ և պոչ:
- addNode()-ը կավելացնի նոր հանգույց ցուցակում՝
- sortList()-ը դասակարգելու է ցուցակի հանգույցները աճման կարգով:
- display() կցուցադրի ցուցակում առկա հանգույցները.
Ինչպե՞ս կարող եմ դասավորել կապակցված ցուցակը այբբենական կարգով:
Տեսակավորում մի լար LinkedList Java-ում հեշտ է. Դու կարող ես տեսակավորել լարը LinkedList աճման մեջ այբբենական կարգով օգտագործելով տեսակավորել ( Ցուցակ ցուցակ ). Դուք կարող եք նաեւ տեսակավորել լարը LinkedList իջնելիս այբբենական կարգով օգտագործելով տեսակավորել ( Ցուցակ ցուցակ , Համեմատող գ).
Խորհուրդ ենք տալիս:
Ինչպե՞ս կարող եմ դասավորել կապակցված ցուցակը այբբենական կարգով:

Java-ում LinkedList-ի տողերի տեսակավորումը հեշտ է: Դուք կարող եք տեսակավորել LinkedList տողը աճման այբբենական կարգով՝ օգտագործելով sort(List list): Դուք կարող եք նաև տեսակավորել LinkedList տողը նվազման այբբենական կարգով՝ օգտագործելով sort(List list, Comparator c)
Ինչպե՞ս է կրկնակի կապակցված ցուցակը DLL-ն համեմատվում մեկ կապակցված ցուցակի SLL-ի հետ):

Կրկնակի կապակցված ցուցակի ներածություն. Կրկնակի կապակցված ցուցակը (DLL) պարունակում է լրացուցիչ ցուցիչ, որը սովորաբար կոչվում է նախորդ ցուցիչ, հաջորդ ցուցիչի և տվյալների հետ միասին, որոնք կան առանձին կապակցված ցանկում: SLL-ն ունի հանգույցներ միայն տվյալների դաշտով և հաջորդ հղման դաշտով: DLL-ն ավելի շատ հիշողություն է զբաղեցնում, քան SLL-ը, քանի որ այն ունի 3 դաշտ
Ինչպե՞ս ջնջել շրջանաձև կապակցված ցուցակը:

Ջնջում շրջանաձև կապակցված ցուցակից Եթե ցուցակը դատարկ չէ, ապա մենք սահմանում ենք երկու ցուցիչ curr և prev և սկզբնավորում ենք ցուցիչի curr-ը գլխավոր հանգույցով: Անցնել ցանկը՝ օգտագործելով curr՝ գտնելու ջնջվող հանգույցը, և նախքան curr-ը հաջորդ հանգույց տեղափոխելը, ամեն անգամ սահմանել prev = curr: Եթե հանգույցը գտնվի, ստուգեք՝ արդյոք այն միակ հանգույցն է ցանկում
Ո՞րն է տարբերությունը կրկնակի կապակցված ցուցակի և շրջանաձև կապակցված ցուցակի միջև:

Շրջանաձև կապակցված ցուցակն այն ցուցակն է, որտեղ կան նոստարտ կամ ավարտական հանգույցներ, բայց փոխարենը դրանք հետևում են շրջանաձև օրինաչափությանը: Կրկնակի կապակցված ցուցակն այն ցուցակն է, որտեղ յուրաքանչյուր հանգույց ուղղված է ոչ միայն հաջորդ հանգույցին, այլև նախորդ հանգույցին
Ի՞նչ է շրջանաձև կրկնակի կապակցված ցուցակը:

Շրջանաձև կրկնակի կապակցված ցուցակը տվյալների կառուցվածքի ավելի բարդ տեսակ է, որտեղ հանգույցը պարունակում է ցուցիչներ դեպի իր նախորդ հանգույցը, ինչպես նաև հաջորդ հանգույցը: Ցանկի առաջին հանգույցը պարունակում է նաև իր նախորդ ցուցիչի վերջին հանգույցի հասցեն: Շրջանաձև կրկնակի կապակցված ցուցակը ներկայացված է հետևյալ նկարում