Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.04.2017
Сообщений: 7

Написать метод, реализующий упорядочивание массива произвольного типа

03.04.2017, 13:57. Показов 1747. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задача:
Написать метод, реализующий упорядочивание массива произвольного типа. Принцип сравнения двух элементов должен передаваться в метод через делегат. Стандартные инструменты типа Array.Sort и IComparable не использовать.
Продемонстрировать работу метода на массиве строк.
Мой код почему-то не работает. Массив не сортируется. помогите решить задачу.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static void Swap<T>(T first, T second)
        {
            var tmp = first;
            first = second;
            second = first;
        }
 
        public static void Sort<T>(T[]arr, Func<T, T, int> compare)
        {
            if (compare == null)
            {
                throw new ArgumentException();
            }
 
            for (int i = 0; i < arr.Length; i++)
            {
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (compare(arr[j], arr[i]) > 0)
                    {
                        Swap(arr[i], arr[j]);
                    }
                }
            }
        }
 
        public static int CompareString(string s, string t)
        {
            if (s == t) return 0;
            if (s == null) return -1;
            if (t == null) return 1;
 
            if (s.Length < t.Length) return -1;
            if (s.Length > t.Length) return 1;
 
            return s.CompareTo(t);
        }
 
        static void Main(string[] args)
        {
            string[] array = new string[] {"bacd", "abcd", "ff", "rty", "r"};
            Func<string, string, int> cs = CompareString;
            Sort(array, cs);
 
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
 
            Console.ReadLine();
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2017, 13:57
Ответы с готовыми решениями:

Написать метод, реализующий упорядочивание массива произвольного типа
Есть такая задача: Написать метод, реализующий упорядочивание массива произвольного типа. Принцип сравнения двух элементов должен...

Написать метод, который бы принимал в качестве первого параметра массив произвольного типа
Написать метод, который бы принимал в качестве первого параметра массив произвольного типа и произвольного размера, и выводил на экран...

Обобщенный класс, реализующий "стек с приоритетом", хранящий значения произвольного типа
Помогите, пожалуйста, решить задачу на языке C#: Необходимо написать обобщённый класс Priority Stack, реализующий стек с приоритетом,...

1
 Аватар для Detect
123 / 123 / 72
Регистрация: 11.05.2014
Сообщений: 331
03.04.2017, 14:10
C#
1
2
3
4
5
public static void Swap<T>(ref T first,ref T second) {
            var tmp = first;
            first = second;
            second = tmp;
        }
C#
1
Swap(ref arr[i],ref arr[j]);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2017, 14:10
Помогаю со студенческими работами здесь

Метод с generic параметром, реализующий метод интерфейса
Здравствуйте, подскажите почему ругается компилятор, что метод Add интерфейса IElementSystem не реализован? Я ведь указал, что T реализует...

Сортировка массива произвольного типа
Помогите разобраться! зачем swap и memswap для сортировки в этой программе inline void swap(char&amp; a, char&amp; b)// Обмениваем...

Функции ввода и вывода массива произвольного типа через void
Функции ввода и вывода массива произвольного типа через void нету разницы какие данные главное правильный код помогите очень нужно,...

Структура для хранения массива произвольного типа с использованием шаблонов
Здравствуйте. Помогите, пожалуйста, разобраться с кодом программы. Необходимо реализовать структуру для хранения массива произвольного...

Реализовать структуру для хранения массива произвольного типа с помощью шаблонов
Помогите пожалуйста, как реализовать структуру?? Сегодня вам нужно реализовать структуру для хранения массива произвольного типа с ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru