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

сортировка list

13.07.2013, 22:21. Показов 3700. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
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
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2013, 01:09
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Блоги программистов
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­хро­н­н­ы­й счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru