Looking for Algoritmai ir duomenų struktūros – pratybos (FMF) test answers and solutions? Browse our comprehensive collection of verified answers for Algoritmai ir duomenų struktūros – pratybos (FMF) at moodle.vilniustech.lt.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
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Ą
}