Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
dkildar
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 2
1

Сортировка сложности O(n log(n)

27.10.2014, 13:21. Просмотров 981. Ответов 4
Метки нет (Все метки)

Здравствуйте. Я новичок в мире с++, поэтому прошу помощи. Нужно отсортировать массив состоящий только из 0, 1, 2 по возрастанию. Сложность О(n log(n)).
От меня огромный жирный +
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2014, 13:21
Ответы с готовыми решениями:

Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию
Сложность в то, что не корректно работает быстрая сортировка по возрастанию и...

по заданым значениям х и у найти значение величины log x y (log с основанием х )
я в принципе понимаю как написать эту программу,но,хоть убейте,в хелпе visual...

По заданым значениям х и у найти значение величины log x y (log с основанием х)
Подскажите,где ошибка в if-else.Потому-что,когда вводить вместо х или у...

Log по основанию 2
Люди, помогите!!! Нужно написать функцию (Log по основанию 2). Я делал...

Перегрузка Log(2)
u1 = sin(3.14*2/12)/(log(2)); Пишет, что перегруженная функция. Что сделать?

4
MickeyBlueEyes
Студент
120 / 131 / 39
Регистрация: 07.04.2011
Сообщений: 503
27.10.2014, 13:37 2
Лучший ответ Сообщение было отмечено dkildar как решение

Решение

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
29
30
31
32
template<class T>
void qsort(T* a, int n) 
{
  long i = 0, j = n;
  T temp;
  T p = a[n >> 1];
 
  do
  {
    while (a[i] < p) {
      i++;
    }
    
     while (a[j] > p) {
      j--;
    }
 
    if (i <= j) 
    {
      temp = a[i]; a[i] = a[j]; a[j] = temp;
      i++; j--;
    }
  } while (i <= j);
  
  if (j > 0) {
    qsort(a, j);
  }
 
  if (n > i) {
    qsort(a+i, n-i);
  }
}
C++
1
2
3
4
int arr[] = {10, 32, 432, 3, 54, 6};
int n = sizeof(arr) / sizeof(arr[0]);
 
qsort(arr, n);
1
Kuzia domovenok
2436 / 2144 / 523
Регистрация: 25.03.2012
Сообщений: 7,720
Записей в блоге: 1
27.10.2014, 13:37 3
Цитата Сообщение от dkildar Посмотреть сообщение
Здравствуйте. Я новичок в мире с++, поэтому прошу помощи. Нужно отсортировать массив состоящий только из 0, 1, 2 по возрастанию. Сложность О(n log(n)).
От меня огромный жирный +
qsort Алгоритмы сортировок
(логарифм, надеюсь, двоичный?)
1
dkildar
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 2
27.10.2014, 14:09  [ТС] 4
Спасибо вам большое) да, логарифм двоичный)
0
Somebody
2801 / 1612 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
27.10.2014, 16:35 5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
(логарифм, надеюсь, двоичный?)
Тут вообще всё равно какой:
http://www.cyberforum.ru/cgi-bin/latex.cgi?log_a x = \frac{log_b x}{log_b a} = C \cdot log_b x
0
27.10.2014, 16:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2014, 16:35

Ошибка с Log(10)
Ругается &quot;error C2668: log: неоднозначный вызов перегруженной функции&quot; в этой...

Console log
Доброго времени суток всем. Подскажите, а как сделать перехват из консольной...

Функция log
Здравствуйте! Такой вопрос. Я использовала функцию log для нахождения логарифма...


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

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

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