Обобщенный метод сортировки массива - C#

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

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

Что-то не пойму, в чем проблема. Точнее, вижу, что мне пишет VS, но не пойму, что делаю не так. Нужно, чтобы метод сортировки принимал массив типа <T> и возвращал тоже типа <T>. Ошибку указал напротив той строчки, где она высвечивается. Вот код сортировки:
Листинг программы
  1. public static T[] BubbleSort<T>(T[] a)
  2. {
  3. for (int i = 0; i < a.Length; i++)
  4. {
  5. for (int j = i + 1; j < a.Length; j++)
  6. {
  7. if (a[j] < a[i]) //Operator '<' cannot be applied to operands of type 'T' and 'T'
  8. {
  9. var temp = a[i];
  10. a[i] = a[j];
  11. a[j] = temp;
  12. }
  13. }
  14. }
  15. return a;
  16. }
Можно ли как-то создать подобный метод?

Решение задачи: «Обобщенный метод сортировки массива»

textual
Листинг программы
  1.         public static void BubbleSort<T>(T[] a) where T : IComparable<T>
  2.         {
  3.             for (int i = 0; i < a.Length; i++)
  4.             {
  5.                 for (int j = i + 1; j < a.Length; j++)
  6.                 {
  7.                     if (a[j].CompareTo(a[i]) < 0)
  8.                     {
  9.                         var temp = a[i];
  10.                         a[i] = a[j];
  11.                         a[j] = temp;
  12.                     }
  13.                 }
  14.             }
  15.         }

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


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

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

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

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

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

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