Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 7

Идентичны ли варианты реализации сортировки вставкой

21.03.2018, 17:46. Показов 1021. Ответов 5

Студворк — интернет-сервис помощи студентам
Дали задания в универе реализовать метод вставки, почитал в интернете как работает, и написал такой код, теоретически должен работать, но когда я прогоняю массив (например: double [] vr1= {7, 0, -4, 3, 1, -2, 5}, то весь массив заменяет на 7.
Полазив в интернете, я набрёл в викиучебники, на мой взгляд идентичную реализацию, и она рабочая. И вопрос в чём ключевая разница?

Мой:
Java
1
2
3
4
5
6
7
8
9
10
11
for (int i = 1; i < size; i++) {
            double t = mass[i];
            for (int j = i - 1; j >= 0; j--) {
                if (t < mass[j]) {
                    mass[j + 1] = mass[j];
                } else {
                    mass[j + 1] = t;
                    break;
                }
            }
        }
ВикиУчебник

Java
1
2
3
4
5
6
7
8
int j;
        for (int i = 1; i < size; i++) {
            double t = mass[i];
            for (j = i - 1; j >= 0 && mass[j] > t; j--) {
                mass[j + 1] = mass[j];
            }
            mass[j + 1] = t;
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2018, 17:46
Ответы с готовыми решениями:

A * B = C Варианты реализации
Имеем три числа A В С. Числа большие (допустим 1024 бита, не существенно). Нужно выполнить умножения A * B = С. Разрядность результата в...

Варианты реализации NodeTreeView
Добрых времени суток. Необходимо создать интерфейс, как на скриншоте. Собственно интересует вопрос о плавной прорисовке линий связи при...

возможные варианты реализации
Есть форма, на ней N эдитов, эдиты могут заполнятся или нет. так же форма заполняется для нескольких вариантов. Необходимо организовать...

5
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.03.2018, 18:23
Цитата Сообщение от NikolyORl555 Посмотреть сообщение
в чём ключевая разница?
Похоже, что в
Цитата Сообщение от NikolyORl555 Посмотреть сообщение
break;
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.03.2018, 18:26
1. заходишь на youtube
2. пишешь в поиске %название своей иде% debug tutroial
3. смотришь
4. делаешь то, что узнал с первым кодом
5. делаешь то, что узнал со вторым кодом
6. довольный тем, что сам хоть что-то смог сделать, идешь пить пивас
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.03.2018, 18:27
Лучший ответ Сообщение было отмечено NikolyORl555 как решение

Решение

У тебя
Цитата Сообщение от NikolyORl555 Посмотреть сообщение
mass[j + 1] = t;
в теле цикла
1
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 7
21.03.2018, 21:14  [ТС]
Спасибо помогло.
0
2 / 2 / 1
Регистрация: 24.01.2018
Сообщений: 8
21.03.2018, 22:12
Java
1
2
3
4
5
6
7
8
int j;
   for (int i = 1; i < size; i++) {
      double t = mass[i];
      for (int j = i - 1; j >= 0; j--) 
         if (t < mass[j]) mass[j + 1] = mass[j];
         else break;
      mass[j + 1] = t;
}
Эта часть не случается, если первые два элемента меняются местами.
Java
1
2
} else {
   mass[j + 1] = t;
Добавлено через 51 минуту
Вообще break - это костыль, лучше переписать без него. Но лучше с ним, чем проходить по всем предыдущим элементам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2018, 22:12
Помогаю со студенческими работами здесь

Авторизация, варианты реализации
Как правильно реализовать авторизацию на сайте, при условии что браузер должен запоминать юзера. Есть вариант такой: Отправляем...

Программа с использованием сортировки вставкой
Создать масив, в котором n элементов. Упорядочить вторую чверть по спаданию, последнюю - по возрастанию, элементы, которые больше заданого...

Визуализация алгоритма сортировки вставкой
Доброго времени суток, стоит задача в написании визуализатора алгоритма сортировки. Сам алгоритм представляю без проблем. В самом...

Wi-Fi везде в доме, варианты реализации
Доброго всем! 2 месяца ломаю голову перед выбором технологии реализации доступа в сеть интернет по Wi-Fi в большом частном доме. Много...

Ранжированный поиск. Варианты реализации
Есть bd mysql. есть записи вида: id_content, id_tag, rang. На 1 id_content может приходится неопределенное количество id_tag. У каждой...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru