Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Elfenlide
23 / 23 / 11
Регистрация: 15.04.2012
Сообщений: 183
1

Сортировка собственных типов данных

24.12.2012, 23:49. Просмотров 1176. Ответов 1
Метки нет (Все метки)

Задача:
В соответствии с вариантом нужно реализовать шаблонную функцию (функции) для сортировки. Необходимо, чтобы разработанная функция(функции) позволяла сортировать массивы и векторы(std::vector<>) любых объектов(как встроенных типов, так и пользовательских), продемонстрировать это путём создания собственного класса , массив объектов которого нужно отсортировать. Сортировка: In-place merge sort. Bogosort.
Я вот что-то не могу понять что сделать то нужно, тоесть я так понял нужно сделать программу которая бы могла работать с такими строками:
C++
1
2
3
class sort{};
sort mas[10]; // и поехали
vector<sort> //и тоже делать что хочу именно с объектами класса sort.
Я правильно понял?
Если так то тогда хотел бы узнать, с чего начать данную программу? Сортировка это я так понял уже просто отдельная функция а не метод класса. Что тогда в классе должно быть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 23:49
Ответы с готовыми решениями:

Приведение типов собственных классов
Добрый день, пусть есть класс class Line { public int x1,x2 ; ...

Композиции на основе собственных типов
Здравствуйте. Пытаюсь написать реализацию простенького хештебла на основе...

Цвет собственных типов переменных в C++
Здрасте! Что необходимо сделать, чтобы собственные типы переменных в окне &quot;Код&quot;...

Конвертирование в bool собственных типов
Здравствуйте! Класс rnode оболочка над указателем для подсчета ссылок. ...

Вычисление собственных значений и собственных векторов матрицы. Метод скалярных произведений
Курсовая работа!! Задание: &quot;Вычисление собственных значений и собственных...

1
Avazart
Эксперт С++
7735 / 5645 / 550
Регистрация: 10.12.2010
Сообщений: 25,471
Записей в блоге: 17
25.12.2012, 00:38 2
Варианты:

1. Для применение стандартной сортировки достаточно перегрузить операторы сравнения < > != == итд. в вашем классе
2. Можно определить функтур который будет определять как будут сравниваться объекты вашего класса
3. При поддержке нового стандарта можно использовать лямбда-выражения

Добавлено через 11 минут
Последний вариант :
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 <algorithm>
#include <vector>
#include <string>
//--------------------------------------------------------
using namespace std;
//--------------------------------------------------------
class my
{
  public:
   int id;
   string name;
 
   my(int _id=0, string _name=string() ):id(_id),name(_name){}
};
//--------------------------------------------------------
int main()
{
    std::vector<my> v;
    v.push_back(my(1,"first")  );
    v.push_back(my(2,"second") );
    v.push_back(my(3,"third ") );
 
    sort(v.begin(),v.end(),[](const my& a,const my& b){ return a.id>b.id; } );
 
    for_each(v.begin(),v.end(),[](const my& obj){ cout<<obj.id<<"\t"<<obj.name<<endl; } );
 
    return 0;
}
//--------------------------------------------------------
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 00:38

Метод итераций: нахождение собственных векторов и собственных значений матрицы
Доброго времени суток. метод итерации нахождение собственных векторов и...

Функция hmatrixevd из пакета alglib для поиска собственных значений и собственных векторов
Добрый день. Нужно найти собственные значения и вектора комплексной эрмитовой...

Вычисление собственных значений и собственных векторов матрицы
Доброго времени суток всем. Собственно написал программу, реализует степенной...


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

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

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