Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
1

сортировка list

13.07.2013, 22:21. Показов 3690. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здорова!
Почему то список не сортируется с помощью аргумента 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 же вроде алгоритм для любых последовательностей должен работать.?!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2013, 22:21
Ответы с готовыми решениями:

Сортировка std::list
Есть такой фрагмент програми. Создаю функцию для сортировки list. Вроде все правильно. В класе...

Сортировка контейнера list
Как отсортировать (с помощью sort()) и вывести в текстовый документ список l ? код программы:...

Сортировка vector и list
Здравствуйте. vector&lt;int&gt; функцией STL медленнее сортируется, чем list&lt;int&gt; собственным методом. ...

List STL сортировка и поиск
Ребят, прошу помощи. Перерыл весь инет, нашёл кучу ссылок, пытался сделать поиск и сортировку, ни...

13
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 22:26 2
Потому что у std::list свой sort, потому что он list
1
What a waste!
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
13.07.2013, 22:27 3
ninja2, ты бы посмотрел сначала справку какую по std::sort: там в аргументах - RandomAccessIterator...
1
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 22:29 4
Цитата Сообщение от ninja2 Посмотреть сообщение
sort же вроде алгоритм для любых последовательностей должен работать.?!
В Стандарте есть такой термин required behavior, который часто используется. Конкретно для элеметов последовательности, передаваемой в sort тоже есть свой required behavior, если интересно, можешь открыть почитать.

Добавлено через 19 секунд
опоздал
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
13.07.2013, 22:31  [ТС] 5
Kastaneda, ну хз. мб ты и прав.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 22:31 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
Я в посте выше слегка не то написал, тут просто требования, а не требуемое поведение элементов.
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
13.07.2013, 22:37  [ТС] 7
Цитата Сообщение от Kastaneda Посмотреть сообщение
В Стандарте есть такой термин required behavior, который часто используется. Конкретно для элеметов последовательности, передаваемой в sort тоже есть свой required behavior, если интересно, можешь открыть почитать.
не не интересно.

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

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

Не по теме:

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

0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 22:42 9
Цитата Сообщение от ninja2 Посмотреть сообщение
Kastaneda, а функция swap тоже вроде в list есть, так что она тоже не вызовется если из algorithm вызвать, вроде должна вызваться?
Цитата Сообщение от ninja2 Посмотреть сообщение
не не интересно.
А вот открыл бы стандарт и не задавал бы таких вопросов
Цитата Сообщение от ninja2 Посмотреть сообщение
Ладно будем просто считать что для list нельзя вызвать? Что б сильно не парится.
Ну не хочешь париться, можешь так считать. Но это не путь "Гуру"
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
13.07.2013, 22:45  [ТС] 10
Цитата Сообщение от Kastaneda Посмотреть сообщение
А вот открыл бы стандарт и не задавал бы таких вопросов
А есть на русском стандарт?

Добавлено через 1 минуту
Цитата Сообщение от Kastaneda Посмотреть сообщение
Ну не хочешь париться, можешь так считать. Но это не путь "Гуру"
Посмотрим время покажет. Я чуствую силу .
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 22:49 11
Цитата Сообщение от ninja2 Посмотреть сообщение
А есть на русском стандарт?
Однажды я натыкался на какой-то блог, в котором чувак писал, что перевел стандарт '03 и, вроде как, собирался продавать свой перевод (непонятно кому). А так стандарт выпускается только на английском и вряд ли когда-нибудь будет выпускаться на каком-либо другом языке.
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
13.07.2013, 22:50  [ТС] 12
Цитата Сообщение от Kastaneda Посмотреть сообщение
А так стандарт выпускается только на английском и вряд ли когда-нибудь будет выпускаться на каком-либо другом языке.
От поэтому мне не сильно охота его читать, есть поинтереснее литература на русском.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
13.07.2013, 23:01 13
Цитата Сообщение от ninja2 Посмотреть сообщение
От поэтому мне не сильно охота его читать, естьь поинтереснее литература на русском.
я не просто так написал выше
Цитата Сообщение от Kastaneda Посмотреть сообщение
(непонятно кому)
дело в том, что когда программист доходит до уровня, чтобы читать Стандрат, предполагается, что он уже знает английский на достаточном уровне, если же ты не знаешь английский на таком уровне, значит и Стандарт читать тебе не надо. Казалось бы "где связь?", а она есть
Попробую объяснить в двух словах (хотя на эту тему можно написать несколько страниц) - в процессе обучения ты рано или поздно начинаешь читать англоязычные справки, мануалы, хелпы и т.д., потому что русской литераторы становится мало (все, что есть на русском это 99% инфа для начинающих) И, даже если в английском полный 0, то через некоторое время ты начнешь читать на нем без переводчика (как я когда-то поймал себя на мысли, что свободно читаю cplusplus.com, хотя всю жизнь учил немецкий). А необходимость читать Стандарт, как правило, возникает когда ты уже знаешь С++ на достаточном уровне (иначе ты там мало что поймешь), соответственно если ты знаешь С++ на таком уровне, значит ты уже не первый год программируешь, а значит, что ты уже перечитал туеву кучу всяких манов, гайдов и хелпов на английском, а это в свою очередь значит ты уже можешь читать стандарт (почти) без переводчика. Вот

P.S. не бывает программиста без знания английского, просто не бывает.
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
14.07.2013, 01:09  [ТС] 14
Kastaneda, Да нет я токо русские книги читаю и то вторую токо.
Да конечно у меня уровень не низкий, так скромно скажем .
И cplusplus.com тоже читаю, но как его читаю? Просто выдрал пример разобрал как он работает и все либо функцию что она делает перевел в переводчике и это все чтение. Да если подумать на русском литературы полно. От еще пользы большой в описании нету, главное что бы был кусочек кода пример, как что работает, просто взял пример поэкспериментировал что он делает, да там и так понятно. Бывает на русском читаешь фиг что разберешь, токо понимаешь тогда когда уже поэкспериментируешь с примером, либо пример распишешь что какая строчка делает.
0
14.07.2013, 01:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2013, 01:09
Помогаю со студенческими работами здесь

Сортировка list по одному из полей
Помогите пожалуйста! У меня есть структура, содержащая несколько полей (типа int, char, char). Я...

Поиск и сортировка list STL
Здравствуйте формумчане. Такая проблема. Написал почти рабочий код, но столкнулся с 2-мя...

Сортировка диапазона элементов в list (STL)
Здравствуйте! Требуется ввести числа в список, задать числа a и b, изменить порядок элементов,...

Сортировка std::list с функцией sort()
У меня задание написать Отсортировать числовую последовательность в порядке возрастания...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru