Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
ResidentEve
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
1

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

18.10.2015, 02:58. Просмотров 633. Ответов 1
Метки нет (Все метки)

Что-то не пойму, в чем проблема. Точнее, вижу, что мне пишет VS, но не пойму, что делаю не так. Нужно, чтобы метод сортировки принимал массив типа <T> и возвращал тоже типа <T>. Ошибку указал напротив той строчки, где она высвечивается. Вот код сортировки:

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

Обобщенный метод преобразовать в метод с параметром типа
Добрый день! Есть метод: public void...

Метод для сортировки массива, методом пузырька - индекс находился вне границ массива
Доброго времени суток. Я изучаю С# недавно. Прочел похожие темы на форму, но...

Обобщенный метод с Nullable типом
Здравствуйте уважаемые! protected T ConvertPresenter&lt;T&gt;(dynamic val,...

Метод сортировки массива-контейненра
Всем доброго времени суток.Позаданию нужно написать метод по сортировке массива...

Рихтер, обобщенный метод, требуется разжевать
Отрывок из книги: private static void Display(String s) { ...

1
Someone007
2371 / 1861 / 853
Регистрация: 09.05.2015
Сообщений: 4,601
Завершенные тесты: 1
18.10.2015, 05:34 2
Разве что так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        public static void BubbleSort<T>(T[] a) where T : IComparable<T>
        {
            for (int i = 0; i < a.Length; i++)
            {
                for (int j = i + 1; j < a.Length; j++)
                {
                    if (a[j].CompareTo(a[i]) < 0)
                    {
                        var temp = a[i];
                        a[i] = a[j];
                        a[j] = temp;
                    }
                }
            }
        }
Зачем возвращать этот же массив из метода, если массив это ссылочный тип?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2015, 05:34

Обобщенный метод для сравнения двух чисел
Как создать метод, который будет сравнивать 2 числа с 0 и если они будут оба...

Обобщенный метод для двух разных типов
есть два класса - разные , которые ничем не отличаются, как мне сделать общий...

Как создать обобщенный метод для умножения чисел?
Как сделать универсальный метод, который будет перемножать переменные? Пример...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru