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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ssvetusik
0 / 0 / 0
Регистрация: 25.01.2010
Сообщений: 9
#1

Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n - C++

16.10.2013, 08:28. Просмотров 323. Ответов 5
Метки нет (Все метки)

Даны два упорядоченных набора чисел C1, C2, ..., Cn и D1, D2, ..., Dm. Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n.
Не могу понять Число сравнений не должно превышать m+n., если не трудно подскажите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 08:28     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n
Посмотрите здесь:

C++ Посчитать число сравнений в QuickSort
C++ Массив: Вывести на экран элементы массива, квадрат которых не будет превышать N
Дан упорядоченный по неубыванию массив A из N чисел и число X C++
C++ Как соединить массив символов и один символ
В массив, упорядоченный по убыванию значений элементов, добавить новое число так, чтобы не нарушить упорядоченность C++
В упорядоченный массив вставить заданное число, сохранив упорядоченность, и удалить последний элемент C++
Объединение двух упорядоченных по возрастанию массивов в один, также упорядоченный C++
C++ Почему число сравнений в быстрой сортировке ( Хоара) различно?
C++ Упорядоченный по неубыванию массив превратить в упорядоченный по возрастанию, оставив уникальные элементы
Объединить два упорядоченных по возрастанию массива в один, также упорядоченный массив C++
Как соединить 2 списка в один C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
16.10.2013, 08:53     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n #2
Цитата Сообщение от ssvetusik Посмотреть сообщение
Число сравнений не должно превышать m+n., если не трудно подскажите
std::merge
ssvetusik
0 / 0 / 0
Регистрация: 25.01.2010
Сообщений: 9
16.10.2013, 09:00  [ТС]     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n #3
может кто подскажет как сделать в цикле?Брат попросил помочь с учебой, а они такое еще не проходили
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
16.10.2013, 09:18     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n #4
Наверное примерно так можно: Проходим по массиву С и находим такой Сi, что Сi < D1, а Сi+1 < D1. Затем между Сi и Сi+1 вставляем D1, D2, ..., Dk, пока Dk < Сi+1. Затем ищем следующее место уже для Dk+1 и вся процедура повторяется. Число Сравнений = m+n, т.к. проходим по массиву С (n сравнений) и сравниваем каждый элемент из D (когда вставляем, еще m сравнений).
kamre
126 / 130 / 4
Регистрация: 25.12.2011
Сообщений: 443
16.10.2013, 09:38     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n #5
Цитата Сообщение от ssvetusik Посмотреть сообщение
может кто подскажет как сделать в цикле?
По ссылке выше есть цикл:
C++
1
2
3
4
5
6
7
8
9
10
11
template <class InputIterator1, class InputIterator2, class OutputIterator>
  OutputIterator merge (InputIterator1 first1, InputIterator1 last1,
                        InputIterator2 first2, InputIterator2 last2,
                        OutputIterator result)
{
  while (true) {
    *result++ = (*first2<*first1)? *first2++ : *first1++;
    if (first1==last1) return std::copy(first2,last2,result);
    if (first2==last2) return std::copy(first1,last1,result);
  }
}
ssvetusik
0 / 0 / 0
Регистрация: 25.01.2010
Сообщений: 9
16.10.2013, 10:16  [ТС]     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n #6
kamre, это слишком для него сложно, ну т.е. они С++ проходят на начальном уровне
Спасибо
Yandex
Объявления
16.10.2013, 10:16     Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n
Ответ Создать тему
Опции темы

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