Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

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

Автор:   •  Декабрь 21, 2018  •  Практическая работа  •  397 Слов (2 Страниц)  •  510 Просмотры

Страница 1 из 2

#include <iostream>

#include <stdlib.h>

#include<time.h>

using namespace std;

void Creation(int * &arr, int n) //создание массива

{

arr = new int[n];

}

void FillArr(int *arr, int n) //заполнение массива

{

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

{

arr[i] = rand() % 65536;

}

}

void swap(int *xp, int *yp) //ф-ция преремещения

{

int temp = *xp;

*xp = *yp;

*yp = temp;

}

void output(int* arr, int n) //вывод массива

{

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

{

cout << arr[i] << "\t";

}

cout << endl;

}

void selectionSort(int arr[], int n) //СОРТИРОВКА 1

{

int i, j, min_idx;

for (i = 0; i < n - 1; i++)

{

min_idx = i;

for (j = i + 1; j < n; j++)

if (arr[j] < arr[min_idx])

min_idx = j;

swap(&arr[min_idx], &arr[i]);

}

}

void heapify(int arr[], int n, int i)

{

int largest = i;

int l = 2 * i + 1;

int r = 2 * i + 2;

if (l < n && arr[l] > arr[largest])

largest = l;

if (r < n && arr[r] > arr[largest])

largest = r;

if (largest != i)

{

swap(arr[i], arr[largest]);

heapify(arr, n, largest);

}

}

void heapSort(int arr[], int n) //СОРТИРОВКА 2

{

for (int i = n / 2 - 1; i >= 0; i--)

heapify(arr, n, i);

for (int i = n - 1; i >= 0; i--)

{

swap(arr[0], arr[i]);

heapify(arr, i, 0);

}

}

void

...

Скачать:   txt (2.7 Kb)   pdf (48.7 Kb)   docx (12.5 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club