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

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

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

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

16.10.2013, 08:28. Просмотров 339. Ответов 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++
void Match(char x) { if (Look == x) GetChar(); else { char s="\'"; strcat(s, x); ...

Дан упорядоченный по неубыванию массив A из N чисел и число X - C++
Дан упорядоченный по неубыванию массив A из N чисел и число X. Получить массив B, вставив X в A так, чтобы B был упорядочен по неубыванию....

Упорядоченный по неубыванию массив превратить в упорядоченный по возрастанию, оставив уникальные элементы - C++
Благоустроенный за неубывания массив B с n элементов превратить в упорядоченный по возрастанию , оставив по одному в каждой группе...

В упорядоченный массив вставить заданное число, сохранив упорядоченность, и удалить последний элемент - C++
в упорядоченном по не возрастанию массиве вставить заданное число так чтобы упорядоченность сохранилась и удалить последний элемент массива

Массив: Вывести на экран элементы массива, квадрат которых не будет превышать N - C++
помогите пожалуйста Дан массив вывести на экран элементы массива квадрат которых не будет превышать N

Посчитать число сравнений в QuickSort - C++
приветствую всех любителей и профессионалов по С++. Изучаю Quicksort Мне нужно чтобы программа посчитала число сравнений сделанное при...

Как соединить 2 списка в один - C++
как соединить 2 списка в один?

Как соединить два кода в один? - C++
Вот код генератора перестановок #include <iostream> #include <stdio.h> #include <fstream> #include <conio.h> #include <windows.h>...

Почему число сравнений в быстрой сортировке ( Хоара) различно? - C++
Сортирую один и тот же массив, но в различной степени упорядоченности, почему число сравнений различно, ведь всегда должно NlogN выходить? ...

За один просмотр файла, без использования сортировки, сформировать список чисел, упорядоченный по неубыванию - 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
Ответ Создать тему
Опции темы

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