Написать класс сравнения чисел, реализующий интерфейс срвнения iComparer - C#

Узнай цену своей работы

Формулировка задачи:

Задача : Написать класс сравнения чисел, реализующий интерфейс сравнения iComparer<int>, который сортирует числа следующим образом:
  • Все пятерки сначала
  • Все четверки в конце
  • Все остальные числа по возрастанию
Вот я написал код основной программы:
Листинг программы
  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. var list = new List<int>();
  6. list.Add(1);
  7. list.Add(2);
  8. list.Add(3);
  9. list.Add(4);
  10. list.Add(5);
  11. list.Add(6);
  12. list.Add(5);
  13. list.Add(55);
  14. list.Sort(new MyComparer());
  15. foreach (var i in list)
  16. Console.WriteLine(i);
  17. Console.ReadKey();
  18. }
  19. }
  20. }
Вот код класса:
Листинг программы
  1. class MyComparer : IComparer<int>
  2. {
  3. public int Compare(int x, int y)
  4. {
  5. if (x == 5)
  6. return -1;
  7. else
  8. {
  9. if (x == 4)
  10. return 1;
  11. else
  12. return 0;
  13. }
  14. }
  15. }
Задача вроде легкая, но я тока начал изучать c# . Не понимаю почему у меня цифра 4 не уходит в конец. У меня получается : 5, 5, 1, 2, 3, 4, 6, 55 А должно получится : 5, 5, 1, 2, 3, 6, 55, 4

Решение задачи: «Написать класс сравнения чисел, реализующий интерфейс срвнения iComparer»

textual
Листинг программы
  1. public int Compare(int x, int y)
  2. {
  3.     if (x == y) return 0;
  4.     if (x == 4) return 1;
  5.     if (y == 4) return -1;
  6.     if (x == 5) return -1;
  7.     if (y == 5) return 1;
  8.     return x - y;
  9. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы