Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public interface IComparer<T>
- {
- int Compare(T x, T y);
- }
- public class BubbleSorter
- {
- public static void Sort<T>(T[] array, IComparer<T> comparer)
- {
- int length = array.Length;
- for (int i = 0; i < length - 1; i++)
- {
- for (int j = 0; j < length - i - 1; j++)
- {
- // Используем метод Compare для сравнения элементов
- if (comparer.Compare(array[j], array[j + 1]) > 0)
- {
- // Меняем элементы местами, если они стоят в неправильном порядке
- T temp = array[j];
- array[j] = array[j + 1];
- array[j + 1] = temp;
- }
- }
- }
- }
- }
- public class IntComparer : IComparer<int>
- {
- public int Compare(int x, int y)
- {
- return x - y; // Стандартное сравнение целых чисел
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- int[] numbers = { 5, 3, 8, 4, 2, 7, 1, 6 };
- // Создаем объект компаратора для целых чисел
- IComparer<int> comparer = new IntComparer();
- // Вызываем сортировку
- BubbleSorter.Sort(numbers, comparer);
- // Выводим отсортированный массив
- Console.WriteLine("Отсортированный массив:");
- foreach (int number in numbers)
- {
- Console.Write(number + " ");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement