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

Сортировка Quick Sort - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ оператор cin. Как вывести информацию. http://www.cyberforum.ru/cpp-beginners/thread186542.html
Я написал программу: #include<iostream.h> void main(void) { int t; cout<<"введите ваше любимое число и нажмите enter:"; cin>>t; cout<<"ваше любимое число равно "<<t<<endl; cin.get();
C++ Исключить из массива первый, предшествующий максимуму, положительный элемент Дан одномерный массив А, состоящий из N элементов. Исключить из массива первый, предшествующий максимуму, положительный элемент. http://www.cyberforum.ru/cpp-beginners/thread186541.html
C++ найти ошибку
не выводит на экран arrsizetck, т.е как можно вывести число элементов в цикле?? int TCKf(char tcki, int tck, unsigned char *arrtck) { int arrsizetck; int i,c,j=0; ...
C++ Уплотнить матрицу. Что-то я намудрил..
Задание такое: Нужно уплотнить матрицу. Т.е. на убрать все 0-ли. Вместо их поставить следующий элемент если он есть. Вот код: (Только вот намудрил я что-то страшное) #include "stdafx.h"...
C++ Нужна литература по теории графов http://www.cyberforum.ru/cpp-beginners/thread186504.html
у меня курсовая работа идет на основе графов, а мы их не изучали, в теории которую дал препод все запутанно, смотрела в Google тож ничего конкретного, кто-нить может помочь? Помощь заключается в...
C++ Как получить размер блока в файловой системе Си+ linux. Пытаюсь вывести размер блока файловой системы struct stat buf; i = stat("имя файла", &buf); printf("Размер блока файловой системы - %u", buf.st_blksize); Но получаю странное... подробнее

Показать сообщение отдельно
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
05.11.2010, 13:11  [ТС]
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
#include <iostream>
 
template<class T> //Что это,что оно даёт?
void quickSortR(T* a, long N) {
// На входе - массив a[], a[N] - его последний элемент.
 
  long i = 0, j = N;            //Что это?
  T temp, p;                    //и это?
 
  p = a[ N>>1 ];                // Это вообще не понятно что   >>?
 
  // процедура разделения
  do {
    while ( a[i] < p ) i++;
    while ( a[j] > p ) j--;
 
    if (i <= j) {
      temp = a[i]; a[i] = a[j]; a[j] = temp;   //Что тут делается?
      i++; j--;
    }
  } while ( i<=j );
 
  // рекурсивные вызовы, если есть, что сортировать 
  if ( j > 0 ) quickSortR(a, j);
  if ( N > i ) quickSortR(a+i, N-i); //Вот это тоже не ясно что делается
}
 
int main()
{
        setlocale(LC_ALL, "Russian");
        char str[] = "бвгда";
        quickSortR(str, strlen(str));
        std::cout << str << std::endl;
        int a[] = { 2, 5, 1, 20, 8, 0, 9 };
        quickSortR(a, 6);
 
        for(int i = 0; i < 7; i++)
                std::cout << a[i] << " ";
 
        std::cout << std::endl;
 
        return 0;
}
можете отредактировать этот код, только без букв а только цифры. и чтоб я могу вводить цифры произвольно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru