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

Шаблон функции qsort() - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 16:38     Шаблон функции qsort() #1
Здорова!
Нужно реализовать шаблон функции qsort().
Скачал пример и никак не могу разобраться как же эта функция вызывается и где она находится.
Походу она просто тупо вызывается без подключения какой нить библиотеки, то есть как бы она глобально определена. Ничо не пойму.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:39     Шаблон функции qsort() #2
ninja2,
C++
1
2
3
4
5
#include <algorithm>
#include <vector>
std::vector <int> a;
std::sort(a.begin(), a.end());
// либо std::stable_sort(a.begin(), a.end());
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 16:39  [ТС]     Шаблон функции qsort() #3
Явно эта функция где то глобально определена, если параметр хоть один убрать, то сразу вылазит ошибка типо не определена.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:41     Шаблон функции qsort() #4
ninja2, Само собой. В библиотеке <algorithm>
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
http://www.cplusplus.com/reference/algorithm/sort/
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 16:41  [ТС]     Шаблон функции qsort() #5
Цитата Сообщение от Ternsip Посмотреть сообщение
ninja2,
C++
1
2
3
4
5
#include <algorithm>
#include <vector>
std::vector <int> a;
std::sort(a.begin(), a.end());
// либо std::stable_sort(a.begin(), a.end());
Ну шаблон qsort() надо написать ну и sort() тоже можно. Токо шаблон, а не просто функции.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:43     Шаблон функции qsort() #6
ninja2, sort это и есть qsort. Он уже описан в библиотеке algorithm.h выше. Эта функция работает за nlogn, как и qsort
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.04.2013, 16:44     Шаблон функции qsort() #7
ninja2, std::sort сама по себе шаблонная функция.
qsort - Си-stype сортировка. Она очевидно не шаблонная. Находится в cstdlib
http://en.cppreference.com/w/cpp/algorithm/qsort

Добавлено через 23 секунды
Ternsip, sort != qsort. Абсолютно никак.
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:44     Шаблон функции qsort() #8
ForEveR, нужна как раз шаблонная. обе функции работают за N * log (N) и стека берут одинаково. По-этому я их считаю одинаковыми.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 16:47  [ТС]     Шаблон функции qsort() #9
Ternsip, Да не нужна, а нужно разработать шаблон. В условии написано "Реализуйте шаблон qsort()", то есть наверно нужно создать шаблон функции?
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:47     Шаблон функции qsort() #10
ForEveR, кстати, sort = это модифицированный Qsort 3 вроде бы.
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 16:52  [ТС]     Шаблон функции qsort() #11
Это задачи после параграффа по шаблонам там полюбому свою нужно делать например мб как то перегрузить, а уже с шаблона вызвать саму qsort() которая как бы определена.

Добавлено через 36 секунд
Цитата Сообщение от Ternsip Посмотреть сообщение
ninja2, Само собой. В библиотеке <algorithm>
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
http://www.cplusplus.com/reference/algorithm/sort/
А там вообще ничо не ясно.

Добавлено через 3 минуты
Да там впринципе много знать и не нужно главное знать какие ей параметры передавать и как ее подключить.

Добавлено через 25 секунд
Лишнего не нужно
Ternsip
 Аватар для Ternsip
660 / 188 / 6
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:56     Шаблон функции qsort() #12
ninja2, 1) если вы хотите написать функцию сами -- пишите 2) если вы хотите помощи, я говорю вам -- залезьте в библиотеку algorithm или cstudio да прочитайте, там 100% рабочий код и всё красиво и понятно, по правилам. Или вы хотите, чтобы я и это за вас сделал ?
ЗЫ эта библиотека у вас должна храниться в папке lib или include , а не на cppref
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 17:01  [ТС]     Шаблон функции qsort() #13
Ternsip, ок буду щас разбираться да я в этом деле ноль.

Добавлено через 21 секунду
Если б кто то за меня сделал было б лучше.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.04.2013, 17:57     Шаблон функции qsort() #14
ninja2, Алгоритмы сортировок там ищите
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
05.04.2013, 19:02  [ТС]     Шаблон функции qsort() #15
Тут еще от гуглю по с qsort() полностью разобрался, а от с sort() даже определение ей дать не могу. Например qsort() это quiksort() то есть быбстроя сортировка. А sort() что это? Нашол IntroSort() Intro вроде переводится как введени, и что введение сорт получается. Какаето фигня. Да и нормальных примеров мало по использованию. Да и по тех что есть, я так понял qsort это универсальная функция, а sort() это тупо для использования токо с контейнерами стл?

Добавлено через 1 минуту
Да и вообще два итератора передается на начало и конец, а от интересно если два итератора передать от начала и до средины? Что тода будет..... Надо протестить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2013, 19:17     Шаблон функции qsort()
Еще ссылки по теме:

Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort C++
Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort C++
C++ Работа функции qsort - объяснить работу функции

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
05.04.2013, 19:17     Шаблон функции qsort() #16
ninja2, Отсортируется последовательность от начала до середины очевидно. std::sort - это тоже быстрая сортировка (на деле в большинстве случаев очень оптимизированная и использующая разные алгоритмы сортировки).
Yandex
Объявления
05.04.2013, 19:17     Шаблон функции qsort()
Ответ Создать тему
Опции темы

Текущее время: 11:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru