Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
1

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

05.04.2013, 16:38. Показов 3349. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здорова!
Нужно реализовать шаблон функции qsort().
Скачал пример и никак не могу разобраться как же эта функция вызывается и где она находится.
Походу она просто тупо вызывается без подключения какой нить библиотеки, то есть как бы она глобально определена. Ничо не пойму.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2013, 16:38
Ответы с готовыми решениями:

Шаблон функции сравнения для qsort()
Хочу отсортировать массив из int и из double с помощью qsort(). Для этого необходимо определить...

Работа функции qsort - объяснить работу функции
#include<iostream> #include<cstdlib> int mysort(const void *arg1, const void *arg2); int main()...

Алгоритм работы функции qsort
Всем добрый день, у меня тут небольшая просьба. Кому не трудно, выложите пожалуйста простой...

исправление функции qsort сортировки матрицы
#include "stdafx.h" #include <iostream> #include <math.h> #include <conio.h> #include...

15
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:39 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());
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 16:39  [ТС] 3
Явно эта функция где то глобально определена, если параметр хоть один убрать, то сразу вылазит ошибка типо не определена.
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:41 4
ninja2, Само собой. В библиотеке <algorithm>
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
http://www.cplusplus.com/reference/algorithm/sort/
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 16:41  [ТС] 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() тоже можно. Токо шаблон, а не просто функции.
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:43 6
ninja2, sort это и есть qsort. Он уже описан в библиотеке algorithm.h выше. Эта функция работает за nlogn, как и qsort
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.04.2013, 16:44 7
ninja2, std::sort сама по себе шаблонная функция.
qsort - Си-stype сортировка. Она очевидно не шаблонная. Находится в cstdlib
http://en.cppreference.com/w/cpp/algorithm/qsort

Добавлено через 23 секунды
Ternsip, sort != qsort. Абсолютно никак.
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:44 8
ForEveR, нужна как раз шаблонная. обе функции работают за N * log (N) и стека берут одинаково. По-этому я их считаю одинаковыми.
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 16:47  [ТС] 9
Ternsip, Да не нужна, а нужно разработать шаблон. В условии написано "Реализуйте шаблон qsort()", то есть наверно нужно создать шаблон функции?
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:47 10
ForEveR, кстати, sort = это модифицированный Qsort 3 вроде бы.
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 16:52  [ТС] 11
Это задачи после параграффа по шаблонам там полюбому свою нужно делать например мб как то перегрузить, а уже с шаблона вызвать саму qsort() которая как бы определена.

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

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

Добавлено через 25 секунд
Лишнего не нужно
0
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
05.04.2013, 16:56 12
ninja2, 1) если вы хотите написать функцию сами -- пишите 2) если вы хотите помощи, я говорю вам -- залезьте в библиотеку algorithm или cstudio да прочитайте, там 100% рабочий код и всё красиво и понятно, по правилам. Или вы хотите, чтобы я и это за вас сделал ?
ЗЫ эта библиотека у вас должна храниться в папке lib или include , а не на cppref
1
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 17:01  [ТС] 13
Ternsip, ок буду щас разбираться да я в этом деле ноль.

Добавлено через 21 секунду
Если б кто то за меня сделал было б лучше.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
05.04.2013, 17:57 14
ninja2, Алгоритмы сортировок там ищите
0
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
05.04.2013, 19:02  [ТС] 15
Тут еще от гуглю по с qsort() полностью разобрался, а от с sort() даже определение ей дать не могу. Например qsort() это quiksort() то есть быбстроя сортировка. А sort() что это? Нашол IntroSort() Intro вроде переводится как введени, и что введение сорт получается. Какаето фигня. Да и нормальных примеров мало по использованию. Да и по тех что есть, я так понял qsort это универсальная функция, а sort() это тупо для использования токо с контейнерами стл?

Добавлено через 1 минуту
Да и вообще два итератора передается на начало и конец, а от интересно если два итератора передать от начала и до средины? Что тода будет..... Надо протестить.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.04.2013, 19:17 16
ninja2, Отсортируется последовательность от начала до середины очевидно. std::sort - это тоже быстрая сортировка (на деле в большинстве случаев очень оптимизированная и использующая разные алгоритмы сортировки).
0
05.04.2013, 19:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2013, 19:17
Помогаю со студенческими работами здесь

Отсортировать в массиве числа с помощью функции qsort по убыванию дробной части
Помогите, пожалуйста. Дан массив вещественных чисел double arr. Отсортируйте в нем числа с помощью...

Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort
Здравствуйте! прошу вас о помощи! помогите пожалуйста с программой! &quot;Выполнить сортировку массива...

Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort
2. Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort, прототип...

Замена функции qsort();
Здравствуйте! Помогите, пожалуйста заменить стандартную функцию qsort(); на сортировку, которая...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru