IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Сортировка данных, C++
сообщение
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Доброго времени суток, Уважаемые Форумчане! На форуме приведена реализация множества сортировок на Паскале. Где я могу найти их реализацию на языке С++? Если такая имеется у кого-либо, то буду очень признателен, если выложите... good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Что значит
Цитата
чтобы была возможность работы с данными вещественного, строкового и т.п. типа
? Если ты BubbleSortVer2<int> поменяешь на BubbleSortVer2<char>, твоя программа не будет с ним работать? Или ты хочешь сделать еще одно меню: сначала пользователь выбирает с каким типом работать, а потом - выбирает метод сортировки массива?

Тогда тебе всю работы по вызову сортировок надо вынести в шаблонную функцию:
template <class T>
void work() {
// и здесь производить все операции, которые пользователь выберет
// из меню Message(), инстанцируя шаблоны сортировок типом T, например:

T a[size];
// для инициализации массива "a" можно написать шаблонную
// функцию Random, и сделать ее явные специализации для любого
// типа, с которым ты хочешь работать...
// Ну, а потом - ...

int time=GetTickCount();
BubbleSortVer2<T>(a, size);
time=GetTickCount()-time;
}


В основной же программе:

int main() {
cout << "1: int; 2: double; 3: char; 4: string" << endl;
cin >> choice;

switch(choice) {
case 1:
Work<int>();
break;
case 2:
Work<double>();
break;
case 3:
Work<char>();
break;
case 4:
Work<string>();
break;
}
}
Идея понятна?

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Цитата(volvo @ 4.06.2008 18:51) *

Что значит ? Если ты BubbleSortVer2<int> поменяешь на BubbleSortVer2<char>, твоя программа не будет с ним работать? Или ты хочешь сделать еще одно меню: сначала пользователь выбирает с каким типом работать, а потом - выбирает метод сортировки массива?

Тогда тебе всю работы по вызову сортировок надо вынести в шаблонную функцию:
template <class T>
void work() {
// и здесь производить все операции, которые пользователь выберет
// из меню Message(), инстанцируя шаблоны сортировок типом T, например:

T a[size];
// для инициализации массива "a" можно написать шаблонную
// функцию Random, и сделать ее явные специализации для любого
// типа, с которым ты хочешь работать...
// Ну, а потом - ...

int time=GetTickCount();
BubbleSortVer2<T>(a, size);
time=GetTickCount()-time;
}


В основной же программе:

int main() {
cout << "1: int; 2: double; 3: char; 4: string" << endl;
cin >> choice;

switch(choice) {
case 1:
Work<int>;
break;
case 2:
Work<double>;
break;
case 3:
Work<char>;
break;
case 4:
Work<string>;
break;
}
}
Идея понятна?

Идею понял, код изменил. Но компилятор выдает ошибку при обращение к Work<...>, в чём причина? И ещё вот, мне не особо понятно как со строками использовать эти методы сортировок, или есть какие-то особенности?


Прикрепленные файлы
Прикрепленный файл  TestCool.cpp ( 12.01 килобайт ) Кол-во скачиваний: 204
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Rocket   Сортировка данных   3.05.2008 22:14
volvo   На АлгоЛисте есть...   3.05.2008 22:28
Rocket   На АлгоЛисте есть... О! Спасибо большое...ту…   3.05.2008 22:46
volvo   К любому контейнеру STL можно применять алгоритм с…   3.05.2008 23:05
first_day   Есть STL, подключаешь <algorithm> и юзаешь…   3.05.2008 23:06
Rocket   Есть STL, подключаешь <algorithm> и юзаешь …   5.05.2008 23:07
volvo   К простым - наверное все-таки сортировка выбором, …   5.05.2008 23:42
Rocket   К простым - наверное все-таки сортировка выбором,…   10.05.2008 22:00
volvo   Ну, в принципе, можно сделать так: template <cl…   10.05.2008 22:34
Rocket   val = static_cast<T>(std::numeric_limi…   11.05.2008 16:36
volvo   Что именно непонятно в этой строчке? Берем из клас…   11.05.2008 16:43
Rocket   Что именно непонятно в этой строчке? Берем из кла…   11.05.2008 17:11
Rocket   Допустим, я хочу проверить работу различных сортир…   11.05.2008 17:41
volvo   Работа со временем зависит от ОС. Под Win можно сд…   11.05.2008 20:16
Rocket   Работа со временем зависит от ОС. Под Win можно с…   11.05.2008 20:33
Rocket   Работа со временем зависит от ОС. Под Win можно с…   11.05.2008 21:30
volvo   #include <iostream> #include <windows.h…   11.05.2008 21:03
volvo   Инициализируем генератор случайных чисел тем значе…   11.05.2008 21:40
Rocket   Всё работаю над этой программой... У меня возникла…   25.05.2008 18:06
Rocket   Вот собрал все основные методы в одну прогу. Она с…   4.06.2008 20:52
volvo   Что значит ? Если ты BubbleSortVer2<int> пом…   4.06.2008 21:51
Rocket   Что значит ? Если ты BubbleSortVer2<int> по…   4.06.2008 22:30
volvo   Ну да, я накосячил, забыл вызов функции... Поправл…   4.06.2008 22:49
Rocket   Ну да, я накосячил, забыл вызов функции... Поправ…   4.06.2008 23:05
volvo   :blink: Ты чего творишь? int ch,size; // Это как …   4.06.2008 23:20
Rocket   :blink: Ты чего творишь? int ch,size; // Это как…   4.06.2008 23:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 1:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name