logo

Crowdly

Browser

Add to Chrome

Algoritmai ir duomenų struktūros – pratybos (FMF)

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--;

    }

View this question

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++;

        }

}

View this question

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Ą!

   }

};

View this question

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Ą   

 

    }

View this question

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Ą

    }

View this question

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Ą

    }

View this question

Want instant access to all verified answers on moodle.vilniustech.lt?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome