Сортировка данных, C++ |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Сортировка данных, C++ |
Rocket |
Сообщение
#1
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Доброго времени суток, Уважаемые Форумчане! На форуме приведена реализация множества сортировок на Паскале. Где я могу найти их реализацию на языке С++? Если такая имеется у кого-либо, то буду очень признателен, если выложите...
|
volvo |
Сообщение
#2
|
Гость |
На АлгоЛисте есть...
|
Rocket |
Сообщение
#3
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
О! Спасибо большое...тут даже с поянениями)) А вот ещё что: нет какого-нибудь класса с уже реализованными методами сортировки? а то времени особо на реализацию нет... |
volvo |
Сообщение
#4
|
Гость |
К любому контейнеру STL можно применять алгоритм сортировки std::sort, чем не готовый класс?
|
first_day |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 86 Пол: Мужской Реальное имя: Илья Репутация: 1 |
Цитата О! Спасибо большое...тут даже с поянениями)) А вот ещё что: нет какого-нибудь класса с уже реализованными методами сортировки? а то времени особо на реализацию нет... Есть STL, подключаешь <algorithm> и юзаешь сортировки. Например, квик сорт:
-------------------- Я бы изменил мир, да Бог не дает исходников.
|
Rocket |
Сообщение
#6
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Есть STL, подключаешь <algorithm> и юзаешь сортировки. Например, квик сорт:
В задании непосредственно нужно свой класс с алгоритмами сортировок написать... Какие методы относятся к простым алгоритмам прямой сортировки? |
volvo |
Сообщение
#7
|
Гость |
К простым - наверное все-таки сортировка выбором, пузырьком и простыми вставками. Может быть - Шелл.
Ну, а прямой или обратной - это уж как направление задашь, любой алгоритм должен уметь сортировать в обоих направлениях. Что именно не получается с написанием класса? По ссылке же приведены даже шаблонные процедуры, просто собрать их под одной крышей... |
Rocket |
Сообщение
#8
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
К простым - наверное все-таки сортировка выбором, пузырьком и простыми вставками. Может быть - Шелл. Ну, а прямой или обратной - это уж как направление задашь, любой алгоритм должен уметь сортировать в обоих направлениях. Что именно не получается с написанием класса? По ссылке же приведены даже шаблонные процедуры, просто собрать их под одной крышей... Как реализовать функцию setMin(T& x) для сортировки вставками со сторожевым елементом? Вот собственно сам метод:
|
volvo |
Сообщение
#9
|
Гость |
Ну, в принципе, можно сделать так:
template <class T>, для большинства POD-типов будет работать (с целочисленными, вещественными и char-ами точно работает) |
Rocket |
Сообщение
#10
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
|
volvo |
Сообщение
#11
|
Гость |
Что именно непонятно в этой строчке? Берем из класса numeric_limits стандартной библиотеки минимально возможное значение типа double, и приводим его static_cast ом к типу, с которым работаем (т.е., к типу T)...
|
Rocket |
Сообщение
#12
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Что именно непонятно в этой строчке? Берем из класса numeric_limits стандартной библиотеки минимально возможное значение типа double, и приводим его static_cast ом к типу, с которым работаем (т.е., к типу T)... Ну в общем я и хотел узнать о static_cast и numeric_limits |
Rocket |
Сообщение
#13
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Допустим, я хочу проверить работу различных сортировок на массиве из 1000 элементов. Как инициализировать массив случайными числами? то есть с помощью random.
Возможно ли в программе организовать какой-нибудь таймер, чтобы засечь время работы метода сортировки, для дальнейшего сравнения быстродействия? |
volvo |
Сообщение
#14
|
Гость |
Работа со временем зависит от ОС. Под Win можно сделать так, например:
... |
Rocket |
Сообщение
#15
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Работа со временем зависит от ОС. Под Win можно сделать так, например: ... А библиотеку какую нужно подключать? а то компилятор мне выдает ошибку, что GetTickCount() не описана. |
volvo |
Сообщение
#16
|
Гость |
#include <iostream> |
Rocket |
Сообщение
#17
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Работа со временем зависит от ОС. Под Win можно сделать так, например: ... У меня возникло ещё несколько вопросов: 1. Вот что мы делаем этой функцией srand((unsigned int)time(0))? 2. Допустим, выводится time = 312. Как это адаптировать к реальному времени? 3. И вообще, такой метод проверки эффективности методов имеет право на существование?) и есть ли какие-нибудь другие способы? |
volvo |
Сообщение
#18
|
Гость |
Цитата что мы делаем этой функцией Инициализируем генератор случайных чисел тем значением, которое в данное время находится в системном таймере (фактически - случайное число). Это аналог Randomize, я же написал там...Цитата Допустим, выводится time = 312. Как это адаптировать к реальному времени? 312 миллисекунд... Но учти, что у этой функции довольно высокая погрешность - порядка 55 мс... Если хочешь точнее - смотри в сторону QueryPerformanceCounter или RDTSC. Вот тут я об этом написал: Как замерить время выполнения программы? |
Rocket |
Сообщение
#19
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Всё работаю над этой программой... У меня возникла идея реализовать что-то вроде менюшки. Какие библиотеки нужно подключать и вообще какие основные функции для вывода текста различных цветов, ну и вобщем для вывода?
|
Rocket |
Сообщение
#20
|
Знаток Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: 0 |
Вот собрал все основные методы в одну прогу. Она сортирует данные целого типа. Как её видоизменить, чтобы была возможность работы с данными вещественного, строкового и т.п. типа?
Прикрепленные файлы SortX.cpp ( 11.65 килобайт ) Кол-во скачиваний: 240 |
Текстовая версия | 29.03.2024 14:02 |