Advertisement
Guest User

Для Насти

a guest
Oct 27th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void viborom(int *a, int N) // реализация алгоритма сортировки выбором
  7. {
  8. int k, min = 999999999;
  9. for (int i = 0; i < N - 1; i++)
  10. {
  11. for (int j = i; j < N; j++)
  12. if (a[j] < min)
  13. {
  14. k = j;
  15. min = a[j];
  16. }
  17. swap(a[i], a[k]);
  18. min = 999999999;
  19. }
  20. }
  21.  
  22.  
  23. void puzirek(int *a, int N) // реализация алгоритма сортировки "пузырек"
  24. {
  25. bool flag = false;
  26. for (int i = 0; i < N; i++)
  27. {
  28. for (int j = 0; j < N - 1; j++)
  29. if (a[j] > a[j + 1])
  30. {
  31. swap(a[j], a[j + 1]);
  32. flag = true;
  33. }
  34. if (flag == false)
  35. break;
  36. }
  37. }
  38.  
  39. int main()
  40. {
  41. setlocale(LC_ALL, "RUS"); // подключение русского языка
  42. int N;
  43. cout << "Введите число элементов: " << endl;
  44. cin >> N; // считывание числа элементов
  45. int *a = new int[N]; // создание массива для сортировок
  46.  
  47. for (int i = 0; i < N; i++) //заполнение массива элементами в обратном порядке(для худшего случая)
  48. a[i] = N - i;
  49.  
  50. puzirek(a, N);
  51.  
  52. for (int i = 0; i < N; i++)
  53. cout << a[i] << " ";
  54. cout << endl;
  55.  
  56. for (int i = 0; i < N; i++) //заполнение массива элементами в обратном порядке(для худшего случая)
  57. a[i] = N - i;
  58.  
  59. viborom(a, N);
  60.  
  61. for (int i = 0; i < N; i++)
  62. cout << a[i] << " ";
  63. cout << endl;
  64.  
  65. system("pause");
  66. return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement