2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 MS VS 2015 sort identifier not found
Сообщение05.12.2017, 13:59 
Аватара пользователя


05/06/08
478
Не пойму, что не так?
#include <algorithm> есть в том же файле...
Спасибо за комменты.

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 14:39 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Всегда пожалуйста.
std::sort тоже не находит?

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 14:58 
Аватара пользователя


05/06/08
478
Спасибо. Что-то находит, но ругается, видимо тип переменной не понятен. Вопрос встречный, может ли быть быть отсортирован обычный float* буфер.
И что лучше, для медианы sort или strict_sort? Пеовый, вроде бы не точный.

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 15:18 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
1) https://stackoverflow.com/questions/5897319/how-to-use-stdsort-to-sort-an-array-in-c
2) Я не знаю, что такое strict_sort. Но не знаю и причины, по которой обычный std::sort не справился бы с медианой.

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 15:35 
Аватара пользователя


05/06/08
478
worm2 в сообщении #1272227 писал(а):
1) https://stackoverflow.com/questions/5897319/how-to-use-stdsort-to-sort-an-array-in-c
2) Я не знаю, что такое strict_sort. Но не знаю и причины, по которой обычный std::sort не справился бы с медианой.

Спасибо. То есть sort даёт точную сортировку?
Сейчас попробую.

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 15:41 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
Если вы имеете в виду, что sort сохраняет порядок одинаковых (с точки зрения сортировки) элементов — то, скорее всего, нет, он такого не гарантирует. Надо стандарт курить. Но медиане, кажется, на это наплевать?

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 15:46 
Аватара пользователя


05/06/08
478
Все хорошо, только вот как работать с динамическими массисами? Как задать end()?

-- Вт дек 05, 2017 16:48:46 --

worm2 в сообщении #1272238 писал(а):
Если вы имеете в виду, что sort сохраняет порядок одинаковых (с точки зрения сортировки) элементов — то, скорее всего, нет, он такого не гарантирует. Надо стандарт курить. Но медиане, кажется, на это наплевать?

Не то что-то прочитал. Видимо там имелось в виду скорость. Чтобы гарантированно не больше O(logN*N)

-- Вт дек 05, 2017 16:56:55 --

Все. Понял. b и b+size, где *b = new float [size]. Огромное спасибо!

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение05.12.2017, 16:18 
Заслуженный участник
Аватара пользователя


01/08/06
3136
Уфа
MGM в сообщении #1272240 писал(а):
Видимо там имелось в виду скорость. Чтобы гарантированно не больше O(logN*N)
Ах вон оно что! Ну да, std::sort не гарантирует O(logN*N) в худшем случае.
Для гарантии вам нужен std::stable_sort. Но он может несколько хуже работать "в среднем".

 Профиль  
                  
 
 Re: MS VS 2015 sort identifier not found
Сообщение07.12.2017, 23:27 
Заслуженный участник


31/12/05
1520
MGM в сообщении #1272240 писал(а):
Все. Понял. b и b+size, где *b = new float [size].
В C++ есть и более цивилизованные способы.

Используется синтаксис C
#include <algorithm>
#include <vector>

  ...
  std::vector<float> b(size);
  ...
  std::sort(std::begin(b), std::end(b));

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group