Рубрики

queue :: emplace () в C ++ STL

Очередь также является абстрактным типом данных или линейной структурой данных, которая соответствует определенному порядку, в котором выполняются операции. Порядок «первым пришел — первым вышел» (FIFO). В структуре данных FIFO первый элемент, добавленный в очередь, будет первым, который будет удален.

Очередь :: устанавливать ()

Эта функция используется для вставки нового элемента в контейнер очереди, новый элемент добавляется в конец очереди.
Синтаксис:

queuename.emplace(value)
Parameters :
The element to be inserted into the queue
is passed as the parameter.

Result :
The parameter is added to the
forward list at the end.

Примеры:

Input  : myqueue{1, 2, 3, 4, 5};
         myqueue.emplace(6);
Output : myqueue = 6, 1, 2, 3, 4, 5

Input  : myqueue{};
         myqueue.emplace(4);
Output : myqueue = 4

Ошибки и исключения
1. Он имеет сильную гарантию исключения, поэтому никакие изменения не вносятся, если выдается исключение.
2. Параметр должен быть того же типа, что и контейнер, в противном случае выдается ошибка.

// INTEGER queue EXAMPLE
// Программа CPP для иллюстрации
// Реализация функции emplace ()
#include <iostream>
#include <queue>

using namespace std;

  

int main()

{

    queue<int> myqueue;

    myqueue.emplace(1);

    myqueue.emplace(2);

    myqueue.emplace(3);

    myqueue.emplace(4);

    myqueue.emplace(5);

    myqueue.emplace(6);

  

    // очередь становится 1, 2, 3, 4, 56

  

    while (!myqueue.empty()) {

        cout << ' ' << myqueue.front();

        myqueue.pop();

    }

   

    return 0;

      
}

Выход:

1 2 3 4 5 6

// ПРИМЕР ОЧЕРЕДИ ХАРАКТЕРА
// Программа CPP для иллюстрации
// Реализация функции emplace ()
#include <iostream>
#include <queue>

using namespace std;

  

int main()

{

    queue<char> myqueue;

    myqueue.emplace('k');

    myqueue.emplace('j');

    myqueue.emplace('y');

    myqueue.emplace('r');

    myqueue.emplace('y');

    myqueue.emplace('u');

  

    // очередь становится k, j, y, r, y, u

  

    while (!myqueue.empty()) {

        cout << ' ' << myqueue.front();

        myqueue.pop();

    }

   

    return 0;

      
}

Выход:

k j y r y u

// STRING QUEUE EXAMPLE
// Программа CPP для иллюстрации
// Реализация функции emplace ()
#include <iostream>
#include <queue>

using namespace std;

  

int main()

{

    queue<string> myqueue;

    myqueue.emplace("This");

    myqueue.emplace("is");

    myqueue.emplace("a");

    myqueue.emplace("computer");

    myqueue.emplace("science");

    myqueue.emplace("portal");

  

    // очередь становится This is is a computer,

    // наука, портал

  

    while (!myqueue.empty()) {

        cout << ' ' << myqueue.front();

        myqueue.pop();

    }

  

    return 0;

      
}

Выход:

This is a computer science portal

Сложность времени: O (1)

Приложение: введите пустую очередь и найдите сумму элементов очереди.

Input :  7, 6, 4, 2, 7, 8
Output : 34 

Алгоритм
1. Вставьте элементы в очередь, используя функцию emplace ().
2. Проверьте, пуста ли очередь, если нет, добавьте передний элемент в переменную суммы и вытолкните его.
3. Продолжайте повторять этот шаг, пока очередь не станет пустой
4. Напечатайте переменную суммы.

// Программа CPP для иллюстрации
// применение функции emplace ()
#include <queue>
#include <iostream>

using namespace std;

   

int main()

{

    // объявление переменной

    int sum = 0;

      

    // объявление очереди

    queue<int> myqueue{};

      

    // добавляем элементы в очередь

    myqueue.emplace(7);

    myqueue.emplace(6);

    myqueue.emplace(4);

    myqueue.emplace(2);

    myqueue.emplace(7);

    myqueue.emplace(8);

  

    // очередь становится 7, 6, 4, 2, 7, 8

   

    // вычисляем сумму

    while (!myqueue.empty()) {

        sum = sum + myqueue.front();

        myqueue.pop();

    }

    cout<< sum;

}

Выход

34

Рекомендуемые посты:

queue :: emplace () в C ++ STL

0.00 (0%) 0 votes