Скачиваний:
1
Добавлен:
04.01.2025
Размер:
172.51 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ЭПУ

отчет

по лабораторной работе №2

по дисциплине «Информационные технологии»

Тема: «Алгоритмы и программы решения задач комбинаторики Алгоритм «шейкерной» сортировки и сортировки выбором»

Студент гр. 1205

Агеев А.А.

Преподаватель

Ларионов И. А.

Санкт-Петербург 2022

Цель работы: изучить принцип работы алгоритмов «шейкерной» сортировки и сортировки выбором, написать программу, выполняющую алгоритм, проверить корректность результатов работы программы.

Блок-схемы:

Рисунок 1 – блок-схема алгоритма «шейкерной» сортировки

Рисунок 2 – блок-схема алгоритма сортировки выбором

Код программы:

1) «Шейкерная» сортировка

#include <iostream>

using namespace std;

int main()

{

const int N = 7;

int M=0;

int a[N];

int left, right, i, tmp;

left = 0;

right= N - 1;

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

{

cout << a[i] << " " ;

}

cout<<endl;

while (left <= right)

{

for (i = right; i >= left; i--)

{

if (a[i-1] > a[i])

{

tmp = a[i];

a[i]=a[i-1];

a[i-1]=tmp;

M=M+1;

}

}

left++;

for (i = left; i <= right; i++)

{

if (a[i-1] > a[i])

{

tmp = a[i];

a[i]=a[i-1];

a[i-1]=tmp;

M=M+1;;

}

}

right--;

}

for (int i = 0; i < N-1; i++)

{

cout << a[i] << " " ;

}

cout << endl;

cout << M << endl;

return 0;

}2) Сортировка выбором

#include <iostream>

using namespace std;

int main()

{

const int N = 5;

int M=0;

int a[N];

int min, tmp;

for (int i = 0; i < N; i++)

{

cout << a[i] << " " ;

}

cout<<endl;

for (int i = 0; i < N-1; i++)

{

int min=i;

for (int j=i; j<N; j++)

{

if(a[j]<a[min])

{

min=j;

}

}

if(min!=i)

{

tmp = a[i];

a[i]=a[min];

a[min]=tmp;

M=M+1;

}

}

for (int i = 0; i < N; i++)

{

cout << a[i] << " " ;

}

cout << endl;

cout << M << endl;

return 0;

}

Листинг результатов:

  1. «Шейкерная» сортировка:

Рисунок 3 – результат работы алгоритма «шейкерной» сортировки для случайного массива

  1. Сортировка выбором

Рисунок 4 - результат работы алгоритма сортировки выбором для случайного массива

Выводы: написаны программы, выведены результаты, числа в массивах расставлены в порядке возрастания, выведено количество перестановок.

Соседние файлы в папке Лабы