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

Проблемы с "Быстрой сортировкой" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ На что влияет расположение строчки using namespace std; ? http://www.cyberforum.ru/cpp-beginners/thread537514.html
В учебнике вывод предлагают делать так: 1-ый способ: #include <iostream> int main() { std::cout << "Hello World!" << std::endl; return 0; } 2-ой способ:
C++ Дан текстовый файл. Найти самое короткое слово. Дан текстовый файл. Найти самое короткое слово. Слово нужно прочитать из файла , а сама программа через массив. Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread537509.html
Как правильно открывать файл и записывать/читать из него C++
Как правильно открывать файл и записывать/читать из него? На разных сайтах и учебниках есть различные примеры етого но везде разные одни открывают через fopen() другие пишут ofstream out; out.("file.type"); и т.д.
C++ Не компилируется с OpenSSL
День добрый. Начал осваивать библиотеку OpenSSL, пишу теста ради следующий код : #include <openssl/ssl.h> int main() { SSL_CTX *a = new SSL_CTX; SSL *ssl; ssl = SLL_new(a);
C++ Дан текстовый файл. Заменить в нем все подряд идущие пробелы на один пробел. http://www.cyberforum.ru/cpp-beginners/thread537476.html
Помогите новечку! Дан текстовый файл. Заменить в нем все подряд идущие пробелы на один пробел. Если можно в более простом варианте. Заранее спасибо!
C++ Отображение картинки в консоли Всем Доброго времени суток. Видел что как то в консоль подгружают изображение - ну тоесть вместо черного фона отображается именно картинка... как это можно реализовать? подробнее

Показать сообщение отдельно
assasko
0 / 0 / 0
Регистрация: 20.05.2011
Сообщений: 18

Проблемы с "Быстрой сортировкой" - C++

03.04.2012, 12:57. Просмотров 344. Ответов 4
Метки (Все метки)

Ребята, всем привет, не могли бы вы мне помочь. Столкнулся с быстрой сортировкой, но что-то не выходит ее реализовать. Вот код:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <windows.h>
 
using namespace std;
void myqsort(int * massive, int left, int right);
 
int main(int argc, char *argv[])
{
    cout << "Zadayte chislo elementov v massive N = ";
    int n;
    cin >> n;
    int *mas=new int[n];
    srand((unsigned)time(NULL));
    for (int i=0; i<n; i++)
    { mas[i]=(int)rand()/rand()+1;
    cout << mas[i] <<" ";}
    cout << endl;
    cout << "==========================================="<<endl;
    double t1=clock();
    myqsort(mas,0,n-1);
    double t2=clock();
    for (int i=0; i<n; i++)
    {cout << mas[i] <<" ";}
    cout << endl;
    cout <<"t1 = "<<t1<<endl;
    cout <<"t2 = "<<t2<<endl;
    cout << "\nVremya rascheta = " <<(t2-t1)/CLOCKS_PER_SEC << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void myqsort(int * mas, int lb, int rb){
int tmp;
if ((lb+1==rb)&(mas[lb]>mas[rb]))
   {
    tmp = mas[lb];
    mas[lb]=mas[rb];
    mas[rb]=tmp;
   }
if (lb+1<rb)
   {
    int key=mas[lb];
    int i_left=lb+1;
    int i_right=lb;
    while(i_left<=i_right)
      {
       while((mas[i_left]<key)&(i_left<rb))i_left++;
       while((key<=mas[i_right])&(lb<i_right))i_right--;
       if(i_left<i_right)
         {
          tmp=mas[i_left];
          mas[i_left]=mas[i_right];
          mas[i_right]=tmp;
         }
      }
      if(i_left>=i_right)
       {
        tmp=mas[i_right];
        mas[i_right]=mas[lb];
        mas[lb]=tmp;
       }
      myqsort(mas,lb,i_right-1);
      myqsort(mas,i_right+1,rb); 
   }   
}
Сортировка не работает, выполняется только перестановка предпоследнего и последнего элементов, если предпоследний больше последнего. Помогите найти проблемку в коде, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru