В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Kfhjrhnf
Kfhjrhnf
30.03.2020 05:00 •  Информатика

Осуществить сортировку заданного массива двумя методами: адресная сортировка и сортировка вставками
Определить количество проходов по массиву, количество сравнений и количество перестановок элементов массива. C++

Показать ответ
Ответ:
Kotliarrostislav
Kotliarrostislav
07.02.2022 06:00

Адресная сортировка

#include <iostream>

int main()

{

   int value = 8;

   int *ptr = &value;

   std::cout << ptr << '\n';

   std::cout << ptr+1 << '\n';

   std::cout << ptr+2 << '\n';

   std::cout << ptr+3 << '\n';

   return 0;

}

Сортировка вставками

#include <iostream>

using namespace std;

int main()

{

const int N = 10;

int a[N] = { 12, 5, 3, 2, 45, 96, 6, 8, 11, 24 };

int buff = 0; // для хранения перемещаемого значения

int i, j;  // для циклов  

/ Начало сортировки /

for (i = 1; i < N; i++)

{

 buff = a[i]; // запомним обрабатываемый элемент

 // и начнем перемещение элементов слева от него

 // пока запомненный не окажется меньше чем перемещаемый

 for (j = i - 1; j >= 0 && a[j] > buff; j--)

    a[j + 1] = a[j];

 a[j + 1] = buff; // и поставим запомненный на его новое место

}

/ Конец сортировки /

for (int i = 0; i < N; i++) // вывод отсортированного массива

 cout << a[i] << '\t';

cout << endl;

}

Думаю :)

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота