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

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

Войти
Регистрация
Восстановить пароль
 
 
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
#1

Не работает сортировка Stl sort - C++

25.06.2014, 19:18. Просмотров 1036. Ответов 21
Метки нет (Все метки)

вот код сортировки массива обычным stl sort ()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<conio.h>
#include<iostream.h>
#include<vector.h>
#include<algorithm>
 
void main()
{
 
    int arry[5]={4,2,6,1,7};
 
 
    vector < int > rer;
 
     sort(rer.begin(),rer.end());
 
    for(int i=0;i<5;i++)
    {
     cout<< rer[i];
    }
 
    getch();
}
почему не работает*?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2014, 19:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает сортировка Stl sort (C++):

(STL LIST SORT) Сортировка по некольким критериям - C++
Здравствуйте! Столкнулся с такой проблемой при сортировке списка. %-) Есть структура: struct PackObject { bool ...

Если память для объекта выделяется динамически (строка 33), сортировка sort не работает - C++
Если память для объекта выделяется динамически (строка 33), сортировка sort не работает, если память не выделять, все работает. Как...

STL sort() - C++
кто знает и где можно посмотреть за какое время работает сортировка sort() в STL &lt;algorithm&gt;??

stl sort vector не сортирует ?! - C++
class Playlist { private: std::vector&lt;Song&gt; s_container; public: Playlist() { s_container=std::vector&lt;Song&gt;(); } ...

реализация Shell Sort в stl - C++
Всем привет! Кто-нибудь знает, есть ли в Stl реализация сортировки Шелла? std::sort() реализован на основе быстрой сортировки, есть...

STL sort строк string по убыванию - C++
Как по возрастанию - знаю:std::vector&lt;std::string&gt; obj; std::string str(&quot;asdfghjkl&quot;); vector.push_back(str); for (auto &amp;index : obj)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
25.06.2014, 19:22 #2
Начнем с того, что вектор rer пуст.
1
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
25.06.2014, 19:22 #3
а что такое rer???
0
ТОрчОК
Заблокирован
25.06.2014, 19:23 #4
rer не инициализирован
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
25.06.2014, 19:24 #5
Ты массив в vector не записал.
0
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
25.06.2014, 20:44  [ТС] #6
ну там же тип указан что int

Добавлено через 6 минут
как инициализировать?

Добавлено через 12 минут
!?!??!?!?
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
25.06.2014, 20:49 #7
Хоть доки прочитайте для начала http://www.cplusplus.com/reference/algorithm/sort/
1
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
25.06.2014, 20:56  [ТС] #8
значит надо функцию ещё писать логическую

Добавлено через 1 минуту
и вывод там по итератору
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
25.06.2014, 20:59 #9
Первый пример по ссылке - без использования функтора. И обходить итераторами контейнер никто не заставляет.
0
ТОрчОК
Заблокирован
25.06.2014, 21:05 #10
объясните как оно компилируется без std:: если вы даже using namespase std; не прописали
0
0x10
2463 / 1635 / 238
Регистрация: 24.11.2012
Сообщений: 4,022
25.06.2014, 21:07 #11
Цитата Сообщение от ТОрчОК Посмотреть сообщение
объясните как оно компилируется без std:: если вы даже using namespase std; не прописали
У него подключены устаревшие заголовочные файлы, там не было пространства имен std.
1
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
25.06.2014, 21:24  [ТС] #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<conio.h>
#include<iostream.h>
#include<vector.h>
#include<algorithm>
  bool mefunction(int i,int j)
  {
      return (i<j);
  }
void main()
{
    using namespace std;
    const int arry[5]={4,2,6,1,7};
 
    vector < int > rer(arry,arry+5);
 
     sort(rer.begin(),rer.end(),mefunction);
 
     for(vector<int>::iterator k=rer.begin();k!=rer.end();k++)
 
     cout<< (*k);
 
    getch();
}
вот я сделал! но вот мне не понятны две вещи!((
C++
1
vector < int > rer(arry,arry+5);
и
C++
1
 for(vector<int>::iterator k=rer.begin();k!=rer.end();k++)
<_------ вывод по итератору, но блиин(( поясните плиз итератор это типа новый отсортированный массив?
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
25.06.2014, 21:29 #13
Итератор - это как указатель.
0
ник нэйм
3 / 3 / 1
Регистрация: 10.11.2013
Сообщений: 175
25.06.2014, 21:50  [ТС] #14
и чё!?

Добавлено через 2 минуты
я принципа не понимаю его

Добавлено через 3 минуты
ну хорошо это ещё как-то понятно, но это чё??
C++
1
vector < int > rer(arry,arry+5);
0
nmcf
5319 / 4639 / 1551
Регистрация: 14.04.2014
Сообщений: 18,452
25.06.2014, 23:14 #15
Это такой конструктор. Из массива.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2014, 23:14
Привет! Вот еще темы с ответами:

С++ Builder STL copy/sort multiset - C++
есть две проблемы: 1) ф-ция copy не компилируеться multiset&lt;double&gt; MS,MS2; multiset&lt;double&gt;::iterator msIter; ///здесь...

q-sort сортировка - C++
Здраствуйте , не могу понять где в коде ошибка . Выдает такое :d:\program...

сортировка вектора sort() - C++
программа заполняет вектор рандомными числами в диапазоне от 1 до 100 сортирует с помощью алгоритма sort(.begin(),.end()) - в...

Сортировка Quick Sort - C++
Можно написать код и коментами.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.06.2014, 23:14
Ответ Создать тему
Опции темы

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