#include <iostream>
#include <time.h>
using namespace std;
void inclusionSort(int *num, int size)
{
for (int i = 1; i < size; i++)
{
int value = num[i];
int index = i;
while ((index > 0) && (num[index - 1] < value))
{
num[index] = num[index - 1];
index--;
}
num[index] = value;
}
}
void selectionSort(int *num, int size)
{
int min, temp; // для поиска минимального элемента и для обмена
for (int i = 0; i < size - 1; i++)
{
min = i; // запоминаем индекс текущего элемента
// ищем минимальный элемент чтобы поместить на место i-ого
for (int j = i + 1; j < size; j++) // для остальных элементов после i-ого
{
if (num[j] < num[min]) // если элемент меньше минимального,
min = j; // запоминаем его индекс в min
}
temp = num[i]; // меняем местами i-ый и минимальный элементы
num[i] = num[min];
num[min] = temp;
}
}
int main()
{
int a[10]; // Объявляем массив из 10 элементов
// Вводим значения элементов массива
for (int i = 0; i < 10; i++)
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
selectionSort(a, 10); // вызываем функцию сортировки
// Выводим отсортированные элементы массива
for (int i = 0; i<10; i++)
printf("%d ", a[i]);
getchar(); getchar();
return 0;
}
// Функция сортировки прямым обменом (метод "пузырька")
void bubbleSort(int *num, int size)
{
// Для всех элементов
for (int i = 0; i < size - 1; i++)
{
for (int j = (size - 1); j > i; j--) // для всех элементов после i-ого
{
if (num[j - 1] > num[j]) // если текущий элемент меньше предыдущего
{
int temp = num[j - 1]; // меняем их местами
num[j - 1] = num[j];
num[j] = temp;
}
}
}
}
int main()
{
int *a;
int n;
cout << "N=";
cin >> n;
a = new int[n];
srand(time(NULL));
for (int i = 0; i < n; i++)
{
a[i] = rand() % 201 - 100;
}
time_t t1 = clock();
inclusionSort(a, n);
time_t t2 = clock();
cout << endl;
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl << t2 - t1;
cin.get(); cin.get();
return 0;
}
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.