Масиви

Масивът е списък от данни, съхранявани в непрекъсната памет. Основното предимство на масива е, че достъпът до определен елемент в списъка може да се извърши с време на изпълнение O(1). Основният недостатък при използването на масиви биха били вмъкванията и изтриванията. За да направите едно от двете, масивите трябва да се преместят върху всички останали елементи, за да направят място за новия.

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

Свързаният списък е набор от данни, представени с възли, които са точки от данни, които могат да сочат към една или много други точки от данни. Основното предимство на свързаните списъци е, че вмъкванията и изтриванията не изискват преместване на други възли в паметта. Указателите за възлите просто трябва да бъдат коригирани, за да се справят с промените. Основният недостатък на свързаните списъци е, че произволни елементи от данните не могат да бъдат достъпни незабавно, освен ако не са първите. За да намерите възел, трябва да преминете през списъка и да следвате връзките и указателите, което може да отнеме много време, тъй като възлите не са непременно съседни в паметта.

Купчини

Стековете често се изпълняват с масиви и списъци, но вмъкването и изтриването на данните следва строг метод. Стековете използват структурата LIFO, което се превежда като Last-In-First-Out. Най-добрият начин да се опише това е купчина чинии. За да добавите нова чиния към купчината, трябва да я добавите в горната част. За да премахнете чиния от стека, трябва да премахнете последната чиния, която сте поставили отгоре.

Опашки

Подобно на стековете, опашките следват строгата структура, наречена FIFO, което означава First-In-First-Out. Просто обяснение за това би била опашка в магазин. Всеки клиент се нарежда, за да плати за артикулите си и слиза от линията в реда, в който се е качил.

Кога да използвате стекове срещу опашки срещу списъци?

Стековете са полезни, когато трябва да премахнете данни в реда, в който сте ги поставили. Следващият елемент, който ще бъде премахнат, ще бъде последният елемент, който сте поставили. Опашките са полезни, когато трябва да премахнете данни в реда, в който сте ги поставили. следващият елемент за премахване ще бъде в предната част на списъка. Списъците са полезни, когато искате да премахнете произволен елемент, независимо от реда. В зависимост от това, което искате да постигнете, и трите от тези структури могат да бъдат полезни при вмъкване и премахване на данни.