С Новым годом! Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 25

Алгоритм сортировки quicksort

03.09.2023, 17:46. Показов 490. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго дня.
У меня проблема с пониманием работы данного алгоритма.
Я понимаю в теории как он работает но есть проблема именно с этим алгоритмом.

В первом шагу цикла for (j = 0, i = -1) срабатывает замена a[-1] c a[0]. Возможно ли такое ?
Заранее благодарю

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>
 
using namespace std;
//quicksort(tab,0,n-1);
 
int partition(int a[],int l,int r)
{
    int i=l-1, j, v=a[r];
    for(j=l;j<r;j++)
        if(a[j]<=v)
        {i++;std::swap(a[i], a[j]);}
        std::swap(a[i+1],a[r]);
    return i+1;
}
 
void quicksort(int a[],int l,int r)
{
    if(r<=l) return;
    int i=partition(a,l,r);
    quicksort(a,l,i-1);
    quicksort(a,i+1,r);
}
 
int main() {
    int tab[] = {2,1,0,7,3,2,8,3};
    int n = sizeof(tab) / sizeof(tab[0]);
 
    cout << "Tablica przed sortowaniem:" << endl;
    for (int i = 0; i < n; i++) {
        cout << tab[i] << " ";
    }
    cout << endl;
 
    quicksort(tab, 0, n - 1);
 
    cout << "Tablica po sortowaniu:" << endl;
    for (int i = 0; i < n; i++) {
        cout << tab[i] << " ";
    }
    cout << endl;
 
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.09.2023, 17:46
Ответы с готовыми решениями:

Параллельный алгоритм быстрой сортировки (quicksort)
Как реализовать параллельный алгоритм быстрой сортировки на C++? Необходимо в последовательном алгоритме быстрой сортировки...

Исправление quicksort сортировки
Есть сортировка, сказали, что правильная пишется с 4-мя последними строками public class Utilities { public static...

Метод сортировки QuickSort
Помогите решить задачу: С клавиатуры вводится последовательность целых чисел. Отсортировать их в порядке возрастания с помощью метода...

4
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
03.09.2023, 17:57
Цитата Сообщение от ******** Посмотреть сообщение
В первом шагу цикла for (j = 0, i = -1) срабатывает замена a[-1] c a[0]. Возможно ли такое?
- Такое не возможно.Алгоритмы сортировок
0
0 / 0 / 0
Регистрация: 27.04.2021
Сообщений: 25
03.09.2023, 17:58  [ТС]
Но срабатывает замена swap.
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,237
03.09.2023, 18:18
Срабатывает потому, что залезает на другой массив или переменную и не вылезает за пределы данных программы. Но в любом случае будет ошибка.
1
Модератор
Эксперт функциональных языков программирования
3133 / 2280 / 469
Регистрация: 26.03.2015
Сообщений: 8,874
07.09.2023, 21:43
Цитата Сообщение от ******** Посмотреть сообщение
В первом шагу цикла for (j = 0, i = -1)
А в какой строке такой цикл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2023, 21:43
Помогаю со студенческими работами здесь

Метод сортировки QuickSort
Помогите решить задачу: С клавиатуры вводится последовательность целых чисел. Отсортировать их в порядке возрастания с помощью метода...

Сортировки Heapsort, Mergesort, Quicksort
Здравствуйте, очень срочно нужна помощь. Помогите сопоставить несколько сортировок в одном файле. Вот примерный код ...

Реализация алгоритма быстрой сортировки quickSort
это алгоритм быстрой сортировки quickSort прошу напишите значение строк файл исходного кода qs.cpp : #include...

Быстрая (quicksort) и пирамидальная (hepsort) сортировки
Здравствуйте! У меня экзамен по алгоритмам в четверг, поэтому срочно нуждаюсь в помощи. Из названия видно, что меня интересуют...

Методы сортировки: QuickSort и сортировка выбором
Использовать программы, составленные при выполнении задания 1. Упорядочить по не убыванию массив структур по заданному ключу, указанными в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru