Junior — Middle
Ինչպե՞ս կառուցել տվյալների շերտը օգտագործելով կապված ցանկը։
sobes.tech AI
Պատասխան AI-ից
Տեղադրված է բլոկը կարող է իրականացվել կապված ցանկի հիման վրա, որտեղ յուրաքանչյուր տարր (հատուկ) պարունակում է տվյալներ և հղում հաջորդ տարրին: Տեղադրված բլոկի վերևի տարրը ցանկի գլուխն է: հիմնական գործողությունները:
- push — նոր հանգույց ավելացնել ցանկի սկզբին;
- pop — հեռացնել հանգույցից ցանկի սկզբից և վերադարձնել նրա արժեքը;
- peek — դիտել գլուխը առանց հեռացնելու:
Օրինակ Kotlin-ում:
class Node<T>(val data: T, var next: Node<T>? = null)
class Stack<T> {
private var head: Node<T>? = null
fun push(value: T) {
val newNode = Node(value, head)
head = newNode
}
fun pop(): T? {
val value = head?.data
head = head?.next
return value
}
fun peek(): T? = head?.data
fun isEmpty() = head == null
}
Այս մոտեցումը ապահովում է բլոկի գործողությունները O(1) ժամանակում և հնարավորություն է տալիս դինամիկ ընդլայնում առանց մեծ զանգվածի հատկացնելու անհրաժեշտության։