Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
FlagmanS
1 / 1 / 0
Регистрация: 22.12.2010
Сообщений: 13
04.06.2012, 17:09     Объединить две очереди в одну, как создать две очереди #1
"Объединить две очереди в одну, чередуя элементы первой и второй очереди.

Основной вопрос как создать две очереди? точнее даже три, в которую уже переписать отсортированные элементы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2012, 17:09     Объединить две очереди в одну, как создать две очереди
Посмотрите здесь:

поменять местами две половины очереди местами C++
C++ Как объединить две цифры в формате int?
Очереди. Каким образом считать две очереди из одного текстового файла? C++
C++ Разработать программу формирования очереди, содержащей целые числа, и упорядочивания по возрастанию элементов в этой очереди.
C++ Очередь: Создать две новые очереди в которых будут находиться отдельно положительные и отрицательные числа
C++ править код (создание очереди и удаление элемента очереди по усмотрению пользователя)
C++ Объединить две проги в одну
C++ Объединить две непустые очереди в одну с сохранением упорядоченности элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
04.06.2012, 17:42     Объединить две очереди в одну, как создать две очереди #2
Очереди можно попробовать вот так объединить

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
Yandex
Объявления
04.06.2012, 17:42     Объединить две очереди в одну, как создать две очереди
Ответ Создать тему
Опции темы

Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru