Четверг
28.03.2024, 17:24
Сайт, посвящённый C#
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Категории раздела
Статьи по C# [10]

Главная » Статьи » Статьи по C#

Быстрая сортировка в C# (Csharp)
Алгоритмы сортировки C# (Csharp)
Быстрая сортировка в C# (Csharp)
Пошаговое описание алгоритма>

1. Из массива выбирается элемент a[i]. Как правило, в качестве этого элемента берется центральный элемент массива.

2. Остальные элементы распределяются таким образом, чтобы слева от a[i] оказались все элементы, меньшие или равные a[i]. Элементы, большие или равные a[i], помещаются справа.

3. Производится проверка количества элементов в левой и правой частях массива. Если какая-либо часть (или обе части) содержит более двух элементов, то для этой части (или частей) запускается та же процедура сортировки с помощью рекурсивного вызова.


Реализация на C#

Класс QuickSorting, содержащий функцию быстрой сортировки, и класс Test для тестирования этой функции:
class QuickSorting {
public static void sorting(double[] arr, long first, long last) {
double p = arr[(last - first)/2 + first];
double temp;
long i = first, j = last;
while(i <= j) {
while(arr[i] < p && i <= last) ++i;
while(arr[j] > p && j >= first) --j;
if(i <= j) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
++i; --j;
}
}
if(j > first) sorting(arr, first, j);
if(i < last) sorting(arr, i, last);
}
}
class Test {
static void Main(string[] args) {
double[] arr = new double[100];
//заполняем массив случайными числами
Random rd = new Random();
for(int i = 0; i < arr.Length; ++i) {
arr[i] = rd.Next(1, 101);
}
System.Console.WriteLine("The array before sorting:");
foreach(double x in arr) {
System.Console.Write(x + " ");
}
//сортировка
QuickSorting.sorting(arr, 0, arr.Length - 1);
System.Console.WriteLine("\n\nThe array after sorting:");
foreach(double x in arr) {
System.Console.Write(x + " ");
}
System.Console.WriteLine("\n\nPress the <Enter> key");
System.Console.ReadLine();
}
}


Источник: http://devoid.com.ua/csharp/csharp-for-beginners/bistraja-sortirovka-v-c-sharp.html
Категория: Статьи по C# | Добавил: Lefthandboy (21.09.2009)
Просмотров: 14189 | Комментарии: 16 | Рейтинг: 2.0/2
Всего комментариев: 161 2 »
16 Sophiafalt  
0
Измельчительно-сортировочное оборудование На сегодняшний день сортировочное оборудование применяют в большом количестве областей деятельности человека: промышленности, сельском хозяйстве и многих других. Такое оборудование используется преимущественно для сортировки сыпучих материалов, таких как продукты переработки, горные породы и почвы. Этот процесс также называется грохочением. Он получает все большее распространение наряду с дроблением, которое также широко используется в промышленности. Такое сортировочное оборудование устанавливается на предприятиях угольной промышленности для промывки и сортировки угля. В строительстве грохочение необходимо для того, чтобы разделять фракции сыпучих материалов: песка, щебня, гравия и других. В сельском хозяйстве грохочение используется преимущественно для обогащения и сортировки почв. Наибольшее применение грохот барабанный и другое http://scheben.dostavka.biz.ua/scheben-5-20.html - щебень фракция 5-20 цена сортировочное оборудование получило в сельском хозяйстве для сортировки различных видов почв. Грохот барабанный является наиболее распространенным видом оборудования благодаря простому управлению, надежности, высокой производительности и долговечности. Кроме того, во время работы установка издает небольшое количество шума. Принцип работы грохота достаточно прост и основан на вращении барабана, который также совершает поступательные движения во время вращения. Это способствует расслоению почв или любых других сыпучих материалов, находящихся внутри барабана.

15 ambillota  
0
Попробую объяснить в двух словах.
Каждый из нас не раз сталкивался с ситуацией,
когда вынуждены заново инсталлировать Windows.
Уверен, что для всех это положение неприятна,потому-что:
- инсталляция занимает примерно 2 часа;
- после установки Windows
надо инсталлировать кучу
программ, которые используются на компьютере.
Так вот, чтобы избежать этих неприятных моментов
помогает создание образа системного диска.
Как мы будем создавать образ диска?
С помощью программы http://noutboom.ru - Acronics True Image.

14 PedyOnecype  
0
[color=color_url - Водонепроницаемая экшен-камера. Всецело новая, компактная и в своём роде уникальная http://www.centroline.ru видеокамера[color=color_url - для экстремальных видов спорта и активного отдыха.Она представляет собой мини-камеру, которая позволят вам отсылать записанное фото и видео стойком для частный айфон, смартфон разве планшетный компьютер, а также позволяет заглядеться в режиме реального времени по каналу беспроводной связи Wi-Fi.

13 ambillota  
0
Попробую объяснить в двух словах.
Каждый из нас не неднократно сталкивался с ситуацией,
когда вынуждены заново инсталлировать Windows.
Уверен, что для всех это ситуация неприятна,потому-что:
- инсталляция занимает приблизительно 2 часа;
- после установки Windows
должен инсталлировать много
программ, которые используются на компьютере.
Так вот, чтобы избежать этих неприятных моментов
помогает создание образа системного диска.
Как мы будем делать образ диска?
С помощью программы http://noutboom.ru - Acronics True Image.

12 ambillota  
0
Попробую объяснить в двух словах.
Каждый из нас не раз сталкивался с ситуацией,
когда приходится заново инсталлировать Windows.
Уверен, что для всех это положение неприятна тем,
что:
- инсталляция занимает приблизительно 2 часа;
- затем установки Windows
необходимо инсталлировать кучу
программ, которые используются на компьютере.
Так вот, чтобы избежать этих неприятных моментов
помогает создание образа системного диска.
Как мы будем создавать образ диска?
С помощью программы http://noutboom.ru/note/index.php?SECTION_ID=2 - True Image.

11 <a href='http://in-disguise.com/'>Buy VPN</a>  
0
I added it to my favorites blog site list and will be checking back soon.

10 mediamanina  
0
Досудебное урегулирование споров и конфликтов в семье, между группами людей,
в трудовых коллективах, в бизнесе, в спорте, в медицине и образовании, при разногласии, а также
в наследственных делах и при разделе имущества.
Приглашаем медиаторов России присоедениться к профессиональному сообществу!
Ждем Вас на нашем сайте http://mediaciymoskva.ru и по телефону +7 (495) 792-84 94 email:7928494@gmail.com

9 engettedyes  
0
webcrawler mujeres calientes

8 Choigonip  
0
ООО "ДИЕЛ" - проектирование, производство и строительство дачных домов, бань, беседок. Ждем Вас на нашем сайте http://хорошая-дача.рф
тел. 8 (921) 207-60-11, e:mail - diel.1@yandex.ru

7 Emerloove  
0
badhi didi ko choda
delete plz

1-10 11-16
Имя *:
Email *:
Код *:
Форма входа

Поиск

Друзья сайта
  • Сайт, посвещённый С++
  • Lefthandboy's blog
  • Копилка знаний
  • Разработка игр
  • Бесплатная раскрутка сайта
  • База лохотронщиков

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Copyright CSharp-Exe © 2024
    Сделать бесплатный сайт с uCoz