1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 13
1

Объединить две очереди в одну, как создать две очереди

04.06.2012, 17:09. Показов 5630. Ответов 1
Метки нет (Все метки)

"Объединить две очереди в одну, чередуя элементы первой и второй очереди.

Основной вопрос как создать две очереди? точнее даже три, в которую уже переписать отсортированные элементы.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2012, 17:09
Ответы с готовыми решениями:

Объединить две непустые очереди в одну с сохранением упорядоченности элементов
Даны две непустые очереди; адреса начала и конца первой рав- ны P1 и P2, а второй — P3 и P4....

Объединить две очереди в одну, в которой элементы исходных очередей чередуются
Даны две непустые очереди, которые содержат одинаковое количество элементов. Объединить очереди в...

Очереди. Дан массив. Создать две очереди, первая должна содержать все нечетные, а вторая - все четные
Очереди. Дан массив. Создать две очереди, первая должна содержать все нечетные, а вторая - все...

Очереди. Каким образом считать две очереди из одного текстового файла?
Здравстуйте. В задании первый пункт состоит в том, что нужно сформировать две очереди по n...

1
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
04.06.2012, 17:42 2
Лучший ответ Сообщение было отмечено FlagmanS как решение

Решение

Очереди можно попробовать вот так объединить

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream> 
#include <iterator>
#include <deque>
#include <algorithm> 
using namespace std; 
int main() 
{ 
    int arr1[] = { 1, 3, 5, 7, 9 }; 
    int arr2[] = { 2, 4, 6 }; 
 
    deque<int> d1;  // очереди
    deque<int> d2; 
    deque <int> d3;
    
 
    for ( int i = 0; i < 5; i++) // помещаем в первую очередь первый массив
        d1.push_back(arr1[i]); 
    for ( int j = 0; j < 3; j++) // помещаем во вторую очередь второй массив
        d2.push_back(arr2[j]);  
 
    copy(d1.begin(), d1.end(), back_inserter(d3)); //вставляем новые элементы
                                          // в 3-ю очередь из первой
    copy(d2.begin(), d2.end(), back_inserter(d3)); // то же самое из второй
    cout << "D3 " << endl; 
    for ( int i = 0; i < d3.size(); i++) // третья очередь
        cout << d3[i] << ' '; 
    cout << endl; 
}
В разные места элементы можно вставлять с помощью итератора вставки insert
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2012, 17:42
Помогаю со студенческими работами здесь

Как мне объединить очереди в одну, в которой элементы исходных очередей чередуются
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;ctime&gt; using namespace std; int main() {...

Создать две очереди: в первую поместить числа из исходного массива с нечётными номерами, во вторую - с чётными
Всем привет.Нужна помощь с решением задачи.Которая выглядит следующим образом:.Дан набор из чисел....

Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа
Задана очередь элементов, содержащий положительные и отрицательное числа.Создать две новые очереди...

Три очереди объединить в одну очередь
Сначала в едином адресном пространстве и затем при связном распределении в памяти, есть полный ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru