Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yol
10 / 10 / 0
Регистрация: 13.10.2012
Сообщений: 155
#1

Сортировка списка типа string по размеру - C++

18.02.2014, 00:49. Просмотров 476. Ответов 1
Метки нет (Все метки)

Надо отсортировать строки типа string по размеру, но к сожалению сортируется все по буквам, и в результате вместо ответа: "cab", ответ - "ac".

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
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
 
using namespace std;
 
//сортировка списка по убыванию (list).
bool operator< (const string& first, const string& second)
{
    return(first.size()>second.size());
}
int main()
{
    list<string> subs;
    subs.push_back("zzz");
        subs.push_back("ac");
    subs.push_back("dadada");
        subs.push_back("ba");
    subs.push_back("cab");
 
 
    subs.sort();
    list<string>::iterator it=subs.begin();
    advance(it, (subs.size()-1));
    cout<<*it<<endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 00:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка списка типа string по размеру (C++):

Сортировка массива типа string через указатели - C++
Итак, пытаюсь реализовать сортировку строкового массива. Почти все сделал, но встал на одном месте и никак не могу понять, как её решить. ...

Сортировка списка по полю типа int (консольное приложение) - C++
Задача Создать список Сотрудник с полями: 1) ФИО 2) Дата Трудоустройства 3) Должность 4) Оклад Вывести на экран,...

Здравствуйте! Создал класс std::string. Не создается объкт типа string... Подскажите в чем причина? - C++
#include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; //using namespace std; class string { private: int...

Запись информации из вектора типа string в вектор типа double - C++
Как записать только числа , которые хранятся в векторе типа стринг, в вектор типа дабл, в векторе типа стринг есть как буквы так и числа ,...

Читать строку типа string из файла, разбить ее на массив слов типа char - C++
Нужно сделать так что бы строчка вида &quot;&lt;слово1&gt;:&lt;слово2&gt;:&lt;слово3&gt;:&lt;слово4&gt;&quot; , считывалась и каждое слово заносилось в свою переменную....

Определить класс список элементов с конструкторами для определения списка по его размеру и копирования другого - C++
Определить класс список элементов. В определение класса включить два конструктора: для опре- деления списка по его размеру и путем...

1
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
18.02.2014, 00:56 #2
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
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
 
using namespace std;
 
//сортировка списка по убыванию (list).
bool size_compare(const string & first, const string& second)
{
    return first.size() > second.size();
}
int main()
{
    list<string> subs;
    subs.push_back("zzz");
    subs.push_back("ac");
    subs.push_back("dadada");
    subs.push_back("ba");
    subs.push_back("cab");
 
 
    subs.sort(&size_compare);
 
    list<string>::iterator it=subs.begin();
    for(list<string>::iterator end = subs.end(); it != end; ++it)
        cout<<*it<<endl;
 
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2014, 00:56
Привет! Вот еще темы с ответами:

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. - C++
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в...

Как скопировать строку типа std::string в другую строку такого же типа? - C++
Хотел скопировать строку #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int _tmain(int...

Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен - C++
Вывести на экран все записи товаров, определенного ценового диапазона. Ценовой диапазон указывается пользователем. ТОВАР: наименование...

"Сортировка двусвязного списка путем исключения элемента с минимальным значением и включения его в начало нового списка - C++
Здравствуйте! Возникла проблема с программой. Тема: &quot;Сортировка двусвязного списка путем исключения элемента с минимальным значением и...


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

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

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