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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Ain
2 / 2 / 0
Регистрация: 20.12.2009
Сообщений: 20
#1

Как вызвать функцию, которая производит быструю сортировку - C++

20.12.2009, 18:23. Просмотров 1306. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста, как в С++ вызвать функцию, которая проводит быструю сортировку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как вызвать функцию, которая производит быструю сортировку (C++):

Написать программу которая производит сортировку алгоритма - C++
Написать программу которая производит сортировку алгоритма:сортировка пузырьком, сортировка перемешиванием, быстрая сортировка.

Как оптимизировать быструю сортировку? - C++
Помогите пожалуйста оптимизировать быструю сортировку. Какой лучше выбрать опорный элемент? #include <iostream> #include "fstream"...

Как вставить счетчик в быструю сортировку? - C++
нужно написать счетчик, какой определяет кол-во перестановок и сравнений в быстрой сортировке #include <iostream> #include <ctime> ...

Пример на быструю сортировку - C++
форумчане пожалуйста, приведите пример на быструю сортировку, на одномерный массив, заполненными случайными числами, состоящих из 10...

Нужно написать полную быструю сортировку!!! - C++
Нужно написать полную быструю сортировку, т.е. из массива{3, 10, 2, 5, 1, 8} взять любое число и раскидать вокруг него числа и...

Как правильно вызвать функцию с указателем на другую функцию как параметр - C++
Вот вариант: double f(double x) { ... } double k(double (*f)(double), double y) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
20.12.2009, 18:25 #2
Читать справку по функции: qsort
Впрочем, в С++ есть алгоритм sort, который работает немного быстрее.
Ain
2 / 2 / 0
Регистрация: 20.12.2009
Сообщений: 20
20.12.2009, 18:38  [ТС] #3
если несложно, дайте ссылку, не могу найти
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2009, 18:44 #4
http://www.cplusplus.com/reference/c...cstdlib/qsort/

Добавлено через 36 секунд
http://www.cplusplus.com/reference/algorithm/sort/
JuliaSt
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 4
15.04.2012, 22:39 #5
Доброго времени суток!
Уменя большая просьба о помощи. Нужно создать функцию быстрой сортировки для массива символьных строк. Вот код программы. У меня на 12 строке программа всегда прекращяет свою роботу. Никак не могу понять в чём ошыбка. Может быть кто-то мне подскажет)
Большое спасибо наперед за помощь!!!



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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<stdio.h>
#include<string.h>
#include<windows.h>
#define n 10
void QuickSort_alpha(char *mas[], int left, int right)
{   
        int i, j, p;
        сhar *tmp[n];
    i=left; 
    j=right;        
    while (i!=j){
        if((strcmp(mas[i],mas[j])>0)!=(i>j)){       
                        tmp[i]=mas[i];      
            mas[i]=mas[j];
                mas[j]=tmp[i];
            
            p=i;    
            i=j;        
          
            if (p<j)    
                              j=p+1;
            else j=p-1;
        }else{
            if (i<j) j--; 
        else j++;
        };
    };
    
    if (left<i-1) QuickSort_alpha(mas,left,i-1);
    if (i+1<right) QuickSort_alpha(mas,i+1,right);
}
 
 
int main(void)
{
    SetConsoleOutputCP(1251);
    char mstr[n][n],*pmstr[n];
    int i=0, k=0, c=0;
    printf("\n\n Введите не больше %d слов(конец ввода-символ *):\n",n);
        
    for(;i<n;i++)
    {
        scanf("%s",mstr[i]);
        if (mstr[i][0]=='*') break;
    }
        
    for(;c<i;c++) pmstr[i]=mstr[i];
    
    QuickSort_alpha(pmstr, 0, i);
        
    puts("\n\n Отсортировано методом Хоара:\n");
    for(;k<i;k++) puts(mstr[k]);
    printf("\n Было введено %d строк\n\n[C]
.", i);

}[/C]
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 22:39
Привет! Вот еще темы с ответами:

Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями - C++
Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать),...

Фирма, которая производит определенные товары - C++
Фирма, которая производит определенные товары, предлагает предпраздничные скидки покупателям при покупке товаров в фирменном магазине в...

Как вызвать функцию? - C++
У меня допустим есть уже готовые функции с именами от а0 до а1000 а мне нужно чтобы прога исходя из входных данных сама высчитала...

Как вызвать функцию из .h в main ? - C++
Здравствуйте! Помогите решить проблему. У меня есть много маленьких подзадачек в виде функций, которые расписаны в файлах .h и .cpp....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.04.2012, 22:39
Ответ Создать тему
Опции темы

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