|
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34
|
||||||
Быстрая сортировка двумерного массива01.09.2015, 22:41. Показов 7021. Ответов 2
Метки нет (Все метки)
Здравствуйте. У меня есть задание по сортировкам. Нужно заданный двумерный массив из рандомных чисел отсортировать по возрастанию по строкам. Прошу помочь только с быстрой сортировкой. Там выдает несколько ошибок, связанных с указателями, а я в них пока не так силён. Функция рекурсивная, поэтому немного запутался. Буду очень благодарен за помощь.
0
|
||||||
| 01.09.2015, 22:41 | |
|
Ответы с готовыми решениями:
2
Быстрая сортировка двумерного массива Быстрая сортировка двумерного массива Быстрая сортировка двумерного массива |
|
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 8
|
|||||||||||
| 02.09.2015, 10:55 | |||||||||||
|
С указателями можно решить вопрос так:
Добавлено через 2 часа 13 минут Собственно сразу бросился в глаза первый цикл внутри quicksort - по количеству измерений(M), его либо надо вынести в тело программы либо добавить еще одну функцию, где происходит обход. За передачу индекса в качестве параметра и использовании одноименных индексов (i) однозначно отругают, но это дело житейское. В функции quicksort_div происходит зацикливание после прохода слева и справа (индексы el_left и el_right не меняются). После того как помучился чуть - заглянул в википедию и понял, что рекурсия там идет не по mid_val, а именно по el_left и el_right , так что такое разбиение на просчет среднего элемента и вызов рекурсивно от дробленого массива не по канону(. Собственно решение из википедии:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 28.10.2014
Сообщений: 34
|
|
| 02.09.2015, 11:10 [ТС] | |
|
sutop, я вот тоже не понимаю. Просто изначально код был для одномерного массива, а когда я стал писать для двумерного, в быстрой сортировке сразу косяк за косяком пошёл ( в основном по причине добавления индекса i, отвечающий за строки). Если Вы мне поможете, я буду очень благодарен.
Upd: только что отправил. Не заметил Ваше сообщение. Сейчас погляжу. Добавлено через 14 минут sutop, я не могу почему то ставить благодарность, но на словах - огромное Вам спасибо. Я тоже много где видел, что аргументы в функции - это значения лефт и райт, а не мид. Просто нам препод видимо так объяснил. Хотя и не факт, что неправильно. Ваш вариант функции ещё более понятен, чем то, что было. Сейчас буду ставить сравнения и перестановки=) Сильно выручили. Ещё раз спасибо.
0
|
|
| 02.09.2015, 11:10 | |
|
Помогаю со студенческими работами здесь
3
Быстрая сортировка для двумерного массива Не работает быстрая сортировка для двумерного массива
Быстрая сортировка элементов столбцов двумерного массива, стоящих на четных позициях "Быстрая" сортировка двумерного массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|