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

сортировка list - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.07.2013, 22:21     сортировка list #1
Здорова!
Почему то список не сортируется с помощью аргумента sort, вот код:
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
33
34
35
36
#include <iostream>
using std::cout;
using std::endl;
#include <list>
using std::list;
#include <algorithm>
using std::sort;
#include <functional>
using std::less;
#include <vector>
using std::vector;
 
int main()
{
    int mass[]={3,1,2,5,4};
    list<int> l(mass,mass+5);
    list<int>::iterator it;
    vector<int> v(mass,mass+5);
 
    //вывод
    for(it=l.begin();it!=l.end();++it)
        cout <<*it<<' ';
    cout <<endl;
 
    //отсортируем
    sort(l.begin(),l.end());
    //l.sort();
    
 
    //выведем отсортированный список
    for(it=l.begin();it!=l.end();++it)
        cout <<*it<<' ';
    cout <<endl;
 
    return 0;
}
Если вектор сортирую, то он норм сортируется, в чом проблема? sort же вроде алгоритм для любых последовательностей должен работать.?!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 22:26     сортировка list #2
Потому что у std::list свой sort, потому что он list
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
13.07.2013, 22:27     сортировка list #3
ninja2, ты бы посмотрел сначала справку какую по std::sort: там в аргументах - RandomAccessIterator...
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 22:29     сортировка list #4
Цитата Сообщение от ninja2 Посмотреть сообщение
sort же вроде алгоритм для любых последовательностей должен работать.?!
В Стандарте есть такой термин required behavior, который часто используется. Конкретно для элеметов последовательности, передаваемой в sort тоже есть свой required behavior, если интересно, можешь открыть почитать.

Добавлено через 19 секунд
опоздал
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.07.2013, 22:31  [ТС]     сортировка list #5
Kastaneda, ну хз. мб ты и прав.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 22:31     сортировка list #6
Цитата Сообщение от Kastaneda Посмотреть сообщение
можешь открыть почитать.
уже открыл, вот
Цитата Сообщение от cl. 25.4.1
Requires: RandomAccessIterator shall satisfy the requirements of ValueSwappable (20.2.2). The typeof *first shall satisfy the requirements of MoveConstructible (Table 34) and of MoveAssignable
Я в посте выше слегка не то написал, тут просто требования, а не требуемое поведение элементов.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.07.2013, 22:37  [ТС]     сортировка list #7
Цитата Сообщение от Kastaneda Посмотреть сообщение
В Стандарте есть такой термин required behavior, который часто используется. Конкретно для элеметов последовательности, передаваемой в sort тоже есть свой required behavior, если интересно, можешь открыть почитать.
не не интересно.

Добавлено через 1 минуту
Kastaneda, а функция swap тоже вроде в list есть, так что она тоже не вызовется если из algorithm вызвать, вроде должна вызваться?

Добавлено через 3 минуты
Kastaneda, Ладно будем просто считать что для list нельзя вызвать? Что б сильно не парится.
gray_fox
13.07.2013, 22:40
  #8

Не по теме:

Цитата Сообщение от ninja2 Посмотреть сообщение
Что б сильно не парится.
Ну ты тогда совсем не тот язык выбрал для изучения, ИМО

Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 22:42     сортировка list #9
Цитата Сообщение от ninja2 Посмотреть сообщение
Kastaneda, а функция swap тоже вроде в list есть, так что она тоже не вызовется если из algorithm вызвать, вроде должна вызваться?
Цитата Сообщение от ninja2 Посмотреть сообщение
не не интересно.
А вот открыл бы стандарт и не задавал бы таких вопросов
Цитата Сообщение от ninja2 Посмотреть сообщение
Ладно будем просто считать что для list нельзя вызвать? Что б сильно не парится.
Ну не хочешь париться, можешь так считать. Но это не путь "Гуру"
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.07.2013, 22:45  [ТС]     сортировка list #10
Цитата Сообщение от Kastaneda Посмотреть сообщение
А вот открыл бы стандарт и не задавал бы таких вопросов
А есть на русском стандарт?

Добавлено через 1 минуту
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ну не хочешь париться, можешь так считать. Но это не путь "Гуру"
Посмотрим время покажет. Я чуствую силу .
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 22:49     сортировка list #11
Цитата Сообщение от ninja2 Посмотреть сообщение
А есть на русском стандарт?
Однажды я натыкался на какой-то блог, в котором чувак писал, что перевел стандарт '03 и, вроде как, собирался продавать свой перевод (непонятно кому). А так стандарт выпускается только на английском и вряд ли когда-нибудь будет выпускаться на каком-либо другом языке.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
13.07.2013, 22:50  [ТС]     сортировка list #12
Цитата Сообщение от Kastaneda Посмотреть сообщение
А так стандарт выпускается только на английском и вряд ли когда-нибудь будет выпускаться на каком-либо другом языке.
От поэтому мне не сильно охота его читать, есть поинтереснее литература на русском.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
13.07.2013, 23:01     сортировка list #13
Цитата Сообщение от ninja2 Посмотреть сообщение
От поэтому мне не сильно охота его читать, естьь поинтереснее литература на русском.
я не просто так написал выше
Цитата Сообщение от Kastaneda Посмотреть сообщение
(непонятно кому)
дело в том, что когда программист доходит до уровня, чтобы читать Стандрат, предполагается, что он уже знает английский на достаточном уровне, если же ты не знаешь английский на таком уровне, значит и Стандарт читать тебе не надо. Казалось бы "где связь?", а она есть
Попробую объяснить в двух словах (хотя на эту тему можно написать несколько страниц) - в процессе обучения ты рано или поздно начинаешь читать англоязычные справки, мануалы, хелпы и т.д., потому что русской литераторы становится мало (все, что есть на русском это 99% инфа для начинающих) И, даже если в английском полный 0, то через некоторое время ты начнешь читать на нем без переводчика (как я когда-то поймал себя на мысли, что свободно читаю cplusplus.com, хотя всю жизнь учил немецкий). А необходимость читать Стандарт, как правило, возникает когда ты уже знаешь С++ на достаточном уровне (иначе ты там мало что поймешь), соответственно если ты знаешь С++ на таком уровне, значит ты уже не первый год программируешь, а значит, что ты уже перечитал туеву кучу всяких манов, гайдов и хелпов на английском, а это в свою очередь значит ты уже можешь читать стандарт (почти) без переводчика. Вот

P.S. не бывает программиста без знания английского, просто не бывает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2013, 01:09     сортировка list
Еще ссылки по теме:

Сортировка vector и list C++
Поиск и сортировка list STL C++
List STL сортировка и поиск C++

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

Или воспользуйтесь поиском по форуму:
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
14.07.2013, 01:09  [ТС]     сортировка list #14
Kastaneda, Да нет я токо русские книги читаю и то вторую токо.
Да конечно у меня уровень не низкий, так скромно скажем .
И cplusplus.com тоже читаю, но как его читаю? Просто выдрал пример разобрал как он работает и все либо функцию что она делает перевел в переводчике и это все чтение. Да если подумать на русском литературы полно. От еще пользы большой в описании нету, главное что бы был кусочек кода пример, как что работает, просто взял пример поэкспериментировал что он делает, да там и так понятно. Бывает на русском читаешь фиг что разберешь, токо понимаешь тогда когда уже поэкспериментируешь с примером, либо пример распишешь что какая строчка делает.
Yandex
Объявления
14.07.2013, 01:09     сортировка list
Ответ Создать тему
Опции темы

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