fork download
  1. using System;
  2.  
  3. public class Test{
  4.  
  5. static int BubbleSort(int[] mas){
  6.  
  7. int CountReplace = 0;
  8.  
  9. /* Обычный метод сортировки пузырьком */
  10. /*
  11.   for (int i = 0; i < mas.Length; i++){
  12.   for (int j = i + 1; j < mas.Length; j++){
  13.   if (mas[i] > mas[j]){
  14.   int temp = mas[i];
  15.   mas[i] = mas[j];
  16.   mas[j] = temp;
  17.   CountReplace++;
  18.   }
  19.   }
  20.   }
  21.   */
  22. /* Усовершенствованный метод сортировки пузырьком */
  23. bool sorted = true;
  24. while (sorted){
  25. sorted = false;
  26. for (int j = 0; j < mas.Length - 1; j++){
  27. if (mas[j] > mas[j + 1]){
  28. int tmp = mas[j];
  29. mas[j] = mas[j + 1];
  30. mas[j + 1] = tmp;
  31. sorted = true;
  32. CountReplace++;
  33. }
  34. }
  35. }
  36. return CountReplace;
  37. }
  38.  
  39.  
  40. static void Main(string[] args)
  41. {
  42. int CountReplace = 0;
  43. Console.WriteLine("Сколько чисел будем сортировать?");
  44. int N = Convert.ToInt32(Console.ReadLine());
  45. Console.WriteLine("Введите числа для сортировки:");
  46. int[] mas = new int[N];
  47. for (int i = 0; i < mas.Length; i++)
  48. {
  49. mas[i] = Convert.ToInt32(Console.ReadLine());
  50. }
  51. CountReplace = BubbleSort(mas);
  52. Console.WriteLine("После сортировки:");
  53. for (int i = 0; i < mas.Length; i++)
  54. {
  55. Console.WriteLine(mas[i]);
  56. }
  57. Console.WriteLine("Число перестановок: " + CountReplace);
  58. Console.ReadLine();
  59. }
  60. }
Success #stdin #stdout 0s 131520KB
stdin
10
14
5
6
19
35
99
150
198
28
11
stdout
Сколько чисел будем сортировать?
Введите числа для сортировки:
После сортировки:
5
6
11
14
19
28
35
99
150
198
Число перестановок: 13