Шукаєте відповіді та рішення тестів для Algoritmai ir duomenų struktūros – pratybos (FMF)? Перегляньте нашу велику колекцію перевірених відповідей для Algoritmai ir duomenų struktūros – pratybos (FMF) в moodle.vilniustech.lt.
Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!
Baikite įgyvendinti ciklinio vienakrypčio tiesinio sąrašo metodą deleteLast(), kuris atsakingas už paskutinio elemento ištrynimą.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
struct node{ int data; node* next;};
class CircularLinkedList{private: node* tail;
public: CircularLinkedList() { tail = nullptr; }
void deleteLast() { if ((tail == nullptr) { std::cout << "Sarasas tuscias, nera ka trinti. \n"; return; }
// BAIGTI PILDYTI KODĄ
count--; }
Baikite įgyvendinti dvikrypčio tiesinio sąrašo metodą addNodePos(), kuris atsakingas už naujo elemento pridėjimą į nurodytą poziciją.
Dėmesio! Realizuokite tik bėgimą sąrašu nuo sąrašo pabaigos (tail) ir patį mazgo įtraukimą.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
struct node{ int data; node* next; node* prev;};
class DoublyLinkedList{private: node* head; node* tail; int count;public: DoublyLinkedList() //konstruktorius { head = nullptr; tail = nullptr; count = 0; }
void addNodeEnd(int value){}
void addNodeStart(int value){}
void addNodePos(int pos, int value) { if (pos == 1) addNodeStart(value); else if (pos == count + 1) addNodeEnd(value); else if (pos > count + 1 || pos < 1) std::cout << "Blogai ivesta pozicija, elementas nepridetas \n"; else {
if (pos <= (count / 2) + 1) { // ŠIOS DALIES REALIZUOTI NEREIKIA } else { // BAIGTI PILDYTI KODĄ
}
count++; }}
Baikite įgyvendinti eilės duomenų struktūros metodą reverse(), kuris atsakingas už eilės elementų "apsukimą", panaudojant steką.
Dėmesio! Būtina išlaikyti eilės veikimo principos,. t.y realizuoti pasinaudojant eilės klasės metodais, o ne bėgant per masyvo indeksus.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
class QueueArray{private: int first; int last; int queue[MAXSIZE] = { 0 };
public: QueueArray() { first = -1; last = -1; }
bool isEmpty(){}
bool isFull(){}
void enqueue(int value){}
void dequeue() {}
int peekFirst() {}
int peekLast() {}
void reverse() { stack<int> stekas;
// BAIKITE PILDYTI KODĄ!
}
};
Baikite įgyvendinti vienakrypčio tiesinio sąrašo metodą deleteFirst(), kuris atsakingas už elemento ištrynimą iš sąrašo pradžios.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
struct node{ int data; node* next;};
class linkedList{private: node* head; node* tail;
public: linkedList() { head = nullptr; tail = nullptr; }
void deleteFirst() { if ((head == nullptr) && (tail == nullptr)) cout << "Sarasas tuscias, ner ka trinti \n";
else if (head == tail) { delete head; head = nullptr; tail = nullptr; }
// BAIGTI PILDYTI KODĄ }
Baikite įgyvendinti vienakrypčio tiesinio sąrašo metodą addNodeEnd(), kuris atsakingas už naujo elemento pridėjimą į sąrašo pabaigą.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
struct node{ int data; node* next;};
class linkedList{private: node* head; node* tail;
public: linkedList() { head = nullptr; tail = nullptr; }
void addNodeEnd(int value) { node* temp = new node; temp->data = value; temp->next = nullptr;
// BAIGTI PILDYTI KODĄ
}
Baikite įgyvendinti deko duomenų struktūros metodą popBack, kuris atsakingas už elemento ištrynimą iš deko pabaigos.
-----------------------------------------------------------------------------------------------------------------------
Kodas:
class DequeArray{private: int first, last; int deque[MAXSIZE] = { 0 };
public: DequeArray() //konstruktorius { first = -1; last = -1; }
void popBack() {
if (isEmpty()) { std::cout << "Dekas yra tuscias, nera ka trinti. \n"; return; }
if (first == last) { first = -1; last = -1; }
// BAIKITE PILDYTI KODĄ
}