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

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

Восстановить пароль Регистрация
 
$ereg@
0 / 0 / 0
Регистрация: 22.12.2010
Сообщений: 7
03.01.2011, 17:58     Быстрая сортировка #1
Помоги мне ответить на вопросы,большая просьба,заранее спасибо

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
Быстрая сортировка
 
#include <iostream>
using namespace std;
 
int array[100];
 
void Sort(int col)
{
    int trash=0;  // для чего?
    bool f=true;
    for (int i=1;  (i<=col) && (f=true)  ;  i++) // что за условие?
    {
        f=false;  // для чего?
        for (int j=i;  j<=col-i;  j++)
        {
            if (array [j]>array [j+1]) // что за условие
            {
                trash=array[j];
                array [j]=array [j+1];
                array [j+1]=trash;
                f=true;
            }
        }
     for (int j=col-i-1;  j>i  ;  j--)
     {                  //что выполняет цикл?
        if (array [j]<array[j-1])
        {
            trash=array[j];
            array [j]=array [j-1];
            array [j-1]=trash;
            f=true;
         }
 
        }
      }
}
 
void Out(int col)
{
   for (int i=1;  i<=col;  i++)
   cout << array [i] <<" ";
   cout << endl;
}
 
int main()
{
   int col_el;
   cout << "  Enter length of array"<< endl;
   cin >> col_el;
   cout << "  Enter array elements"<<endl;
   for (int n=1; n<=col_el ; n++)
   {
   cout <<n<<"  :" << "\t";
   cin >> array[n];
    }
   Sort(col_el);
   cout << "Result is :"<<endl;
   Out(col_el);
   cin >> col_el;
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 17:58     Быстрая сортировка
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
03.01.2011, 18:26     Быстрая сортировка #2
Цитата Сообщение от $ereg@ Посмотреть сообщение
int trash=0; *// для чего?
временный буфер для обмена значений

Добавлено через 2 минуты
Цитата Сообщение от $ereg@ Посмотреть сообщение
for (int i=1; *(i<=col) && (f=true) *; *i++) // что за условие?
что бы лишний раз цикл в холостую не выполнялся, для этого и f нужна, которая проверяет выполнился ли обмен, если да то еще раз выполнить цикл

Добавлено через 1 минуту
Цитата Сообщение от $ereg@ Посмотреть сообщение
if (array [j]>array [j+1]) // что за условие
если последующее значение больше предыдущего то обменять их

Добавлено через 1 минуту
Цитата Сообщение от $ereg@ Посмотреть сообщение
//что выполняет цикл?
то же самое что и предыдущий цикл, только выполнение идет с конца массива
Yandex
Объявления
03.01.2011, 18:26     Быстрая сортировка
Ответ Создать тему
Опции темы

Текущее время: 18:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru