Advertisement
Guest User

Insertion Sort

a guest
Nov 15th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. /* Функция сортировки массива с использованием сортировки вставками */
  6. void insertionSort(int arr[], int n)
  7. {
  8.     int i, key, j;
  9.     for (i = 1; i < n; i++)
  10.     {
  11.         key = arr[i];
  12.         j = i - 1;
  13.  
  14.         /* Переместить элементы arr [0..i-1], которые
  15.         больше, чем ключ, на одну позицию впереди
  16.         их текущей позиции */
  17.         while (j >= 0 && arr[j] > key)
  18.         {
  19.             arr[j + 1] = arr[j];
  20.             j = j - 1;
  21.         }
  22.         arr[j + 1] = key;
  23.     }
  24. }
  25.  
  26. // Функция для вывода массива
  27. void printArray(int arr[], int n)
  28. {
  29.     int i;
  30.     for (i = 0; i < n; i++)
  31.         cout << arr[i] << " ";
  32.     cout << endl;
  33. }
  34.  
  35.  
  36. int main()
  37. {
  38.     int arr[10];
  39.  
  40.     // Заполняем массив с клавиатуры
  41.     for (int i = 0; i < 10; i++) {
  42.         cout << "[" << i + 1 << "]" << ": ";
  43.         cin >> arr[i];
  44.     }
  45.  
  46.     int n = sizeof(arr) / sizeof(arr[0]);
  47.  
  48.     insertionSort(arr, n);
  49.     printArray(arr, n);
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement