0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 3
1

Сортировка заданного линейного массива целых чисел различными методами

08.05.2014, 23:19. Показов 2865. Ответов 10
Метки нет (Все метки)

здраствуйте мне нужно разработать проект который позволяет сортировать заданный линейный массив целых чисел различными методами методом линейной сортировки методом шелла и пузырька работать надо на вижуал студио с#помогите умоляю
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2014, 23:19
Ответы с готовыми решениями:

Сортировка массива различными методами
Нужно написать алгоритмы для Selection, Insertion, Shell, Quick, Merge, Heap сортировок для любых...

Сортировка массива различными методами
разработать проект который позволяет сортировать заданный линейный массив целых чисел различными...

Сортировка массива целых чисел различными методами сортировки
Здравствуйте!!! подскажите пожалуйсто!!! Порядок выполнения работы: 1. Разработать процедуры...

Сортировка массивов различными методами
Сортировка массивов различными методами

10
Master of Orion
Эксперт .NET
6091 / 4947 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.05.2014, 01:39 2
___migel___, а что вы по C# в принципе знаете?
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
09.05.2014, 04:15 3
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
class Program
    {
        static void Main(string[] args)
        {
            var arr = new int[] { 25, 543, 2, 33, 21, 5, 3 };
 
            //ShallSort(ref arr);
            //BubbleSort(ref arr);
            //LineSort(ref arr);
 
            foreach (var x in arr)
                Console.WriteLine(x);
 
            Console.ReadKey();
            
        }
 
        static void Swap(ref int a, ref int b) //Метод, меняющий элементы массива местами
        {
            int temp = b;
            b = a;
            a = temp;
        }
 
       static void ShallSort(ref int[] arr) //Сортировка по Шеллу
       {
           for(int d = arr.Length/2; d> 0; d/=2)
           {
               for (int i = d; i < arr.Length; ++i)
               {
                   for (int j = i; j>=d && arr[j - d] > arr[j]; j-=d)
                   {
                       Swap(ref arr[j], ref arr[j - d]);
                   }
               }
           }
       }
 
       static void BubbleSort(ref int[] arr) // Пузырёк
       {
           for (int i = 0; i < arr.Length - 1; i++)
           {
               for (int j = 0; j < arr.Length - 1 - i; ++j)
               {
                   if (arr[j] > arr[j + 1])
                   {
                       Swap(ref arr[j], ref arr[j + 1]);
                   }
               }
           }
       }
 
       static void LineSort(ref int[] arr) // Линейная сортировка
       {
           int pos = 0;
           int tempItemIndex;
           while (pos < arr.Length)
           {
               tempItemIndex = LineSearchMinItem(arr, pos);
 
               Swap(ref arr[pos], ref arr[tempItemIndex]);
 
               pos++;
           }
       }
 
       static int LineSearchMinItem(int[] arr, int pos) //Поиск минимального элемента, начиная с позиции pos
       {
           int index = pos;
           for (int i = pos + 1; i < arr.Length; ++i)
           {
               if (arr[index] > arr[i])
               {
                   index = i;
               }
           }
 
           return index;
 
       }
    }
Как-то так
0
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 3
09.05.2014, 20:09  [ТС] 4
огромное спасибо за всё вы спасли мне жизнь

Добавлено через 6 часов 28 минут
а вы не могли бы написать то же самое но только реализована средствами Объектно-ориентированное программирования (написать класс .создать форму. делигаты и дистуктоы
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
10.05.2014, 03:40 5
Я как бы не работал с WindowsForms... Да и WPF только-только начал изучать... Ну что-нибудь попробую.
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
10.05.2014, 05:20 6
Вот набросал проектик. Написан на Visual Studio 2010 (Версия .NET 4.0)
Думаю, то, что вам нужно.
Вложения
Тип файла: rar Solution.rar (48.1 Кб, 38 просмотров)
1
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
10.05.2014, 05:26 7
В верхнее окошко вписываете набор чисел (неограниченно пробелов между ними)
И жмякаете кнопку с нужным сортом. Результат будет виден во втором окошке.

Чтобы очистить окна есть кнопка Clear (В зависимости от того, какие инпуты нужно очистить, статвите флажки в чек-боксах).

тааааак, теперь по классу.

ArraySort -- класс с сортировками, в нём я реализовал шаблон СинглТон (одновременно может быть создан только один объект такого класса), сам класс запечатан (sealed), т.е. от него нельзя наследоваться. И там описан деструктор.

Ну в общем таки всё.
0
Master of Orion
Эксперт .NET
6091 / 4947 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2014, 12:29 8
Anderok, во-первых, деструкторы замедляют работу приложения. Даже пустые. Поэтому как раз-таки от них стараются избавиться, особенно от пустых.

Во-вторых, синглтон это конечно хорошо, но тут же учебная задача, на сортировки, а вы забиваете голову паттернами. Не говоря про то, что тут можно было обойтись обычной статикой (не стали же дотнетчики делать класс Math синглтоном? ).

в-третьих такие вот комментарии
C#
1
 ~ArraySort() // Деструктор...
не сильно помогают
Сортировка заданного линейного массива целых чисел различными методами

В общем, микроскопом по гвоздям Но в остальном - шикарно, лови плюс.
1
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 3
10.05.2014, 15:28  [ТС] 9
Anderok спасибо большое
0
116 / 116 / 70
Регистрация: 10.11.2013
Сообщений: 445
10.05.2014, 18:56 10
Psilon, хаха) классная картинка)
______
Просто автор попросил сделать с деструкторами – поэтому я его и описал. Сразу решил реализовать интерфейс IDisposable, но почитав о нём передумал. Пришлось деструктор просто так вклинить) Ну а раз есть деструктор, но, очевидно, класс будет нестатический. Ну а в данном случае подумал, что синглтон подошёл бы неплохо (хотя согласен, что для новичка я, пожалуй, перегнул.)

Ну а коммент изначально был такой "Деструктор... хотя на кой чёрт он тут нужен?"... Но опять же подумав, что автор может сдать проект, не особо-таки разобравшись в нём, решил не подставлять его))

Ну а вообще спасибо за конструктивную критику!
0
Master of Orion
Эксперт .NET
6091 / 4947 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.05.2014, 19:24 11
Anderok, на самом деле это кусок более общей картинки, просто к теме относилась эта часть. Но, для поддержания уровня юмора (и когда вы не воспримите это на свой счет и не обидитесь), можно выложить и полную версию
Миниатюры
Сортировка заданного линейного массива целых чисел различными методами  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2014, 19:24
Помогаю со студенческими работами здесь

Сортировка массивов различными методами.
Ребяточки, гении, помогите неопытной(( Сортировка массивов различными методами. 3. Сортировка...

Разработать класс линейного массива из N целых чисел!
Разработать класс линейного массива из N целых чисел (N&gt; 0 - константа). В классе должна быть...

Найти произведение элементов линейного массива целых чисел
Здравствуйте.Помогите пожалуйста написать программу на паскале Спасибо! Добавлено через 16...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru