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

Быстрая сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны интегралы. Сколько достаточно взять узлов, чтобы найти значение первого интеграла с точностью 0.001 http://www.cyberforum.ru/cpp-beginners/thread351583.html
помогите пожалуйста!!!! даны интегралы.Сколько достаточно взять узлов, чтобы найти значение первого интеграла с точностью 0.001:по формулам прямоугольников?по формулам трапеций?
C++ Передать переменную типа char по ссылке доброго времени суток. помогите над очень простым задание из одной книги. Создайте функцию, которая получает аргумент char& и изменяет его. В функции мэйн() выведите переменную чар, вызовите функцию для этой переменной и снова выведите ее. с выводом то проблем нету) но вот никак не могу нормально передать перменную, то ругается на константность, то на временность. помогите советом... http://www.cyberforum.ru/cpp-beginners/thread351568.html
C++ Драйвер для чтения CD-ROM
Есть код программы, которая должна считывать данные с CD-ROM'а. Скажите, он правильный или нет? Просто меня уверяют, что не правильный: #include <windows.h> #include <winioctl.h> #include <stdio.h> // ПАРАМЕТРЫ ПО УМОЛЧАНИЮ #define DEF_FN "sector" #define DEF_TO 0x666 #define DEF_FROM 0x000 #define CDROM_SECTOR_SIZE 2048 // for MODE1/MODE2FORM1...
Непонятки с размером массива C++
Почему так можно: int main() { int SIZE=10; char ch={'a','b','c','d','e','f','g','h','i','\0'}; for(int i=0;i<SIZE;i++) cout<<ch; cout<<endl<<endl; for(char *ptr=ch;*ptr!='\0';ptr++)
C++ Задача ал-Караджи http://www.cyberforum.ru/cpp-beginners/thread351554.html
Кто может написать код на СИ для сией шляпы? Найти площадь прямоугольника, основание которого в n раз больше высоты, а площадь численно равна периметру.
C++ Найти количество групп с пятью символами Обьясните пожалуста задачу: Дана строка, состоящая из групп нулей и единиц. Каждая группа отделя- ется от другой одним или несколькими пробелами. Найти количество групп с пятью символами. подробнее

Показать сообщение отдельно
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
14.09.2011, 22:23     Быстрая сортировка
Cheshire Cat, на тебе Quick Sort
a.cpp:
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
#include <iostream>
#include "qs.h"
using namespace std;
 
 
void print(int arr[], int n) {
    for (int i = 0; i <n; i++) {
        cout << arr[i] << "-";
    }
    cout << endl;
}
 
int main ()
{int n;
    
    int i;
    cout<<"Array Size: ";
    cin>> n;
    cout<<endl;
    int* arr=new int [n];
    for (i=0;i<n;i++) {
        cout << "Array[" << i+1 << "]: ";
        cin >>  arr[i];
        cout<<endl;
    }
    print(arr,n);
    quickSort(arr, 0, n-1);
    print(arr,n);
 
 
}
a.h:
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
#include <iostream>
using namespace std;
 
void quickSort(int arr[], int left, int right) {
    int i = left, j = right;
    int tmp;
    int pivot = arr[(left + right) / 2];
 
    /* partition */
    while (i <= j) {
        while (arr[i] < pivot)
        i++;
        while (arr[j] > pivot)
        j--;
        if (i <= j) {
            tmp = arr[i];
            arr[i] = arr[j];
            arr[j] = tmp;
            i++;
            j--;
        }
    };
 
    /* recursion */
    if (left < j)
    quickSort(arr, left, j);
    if (i < right)
    quickSort(arr, i, right);
 
}
Добавлено через 13 минут
Чёрт... соврал.
Переименуй "a.h" в "qs.h".
 
Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru