Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика 1(СД).docx
Скачиваний:
0
Добавлен:
08.10.2025
Размер:
223.97 Кб
Скачать

Int pivot;

int l_hold = left;

int r_hold = right;

pivot = numbers[left];

while (left < right)

{

while ((numbers[right] >= pivot) && (left < right))

right--;

if (left != right)

{

numbers[left] = numbers[right];

left++;

}

while ((numbers[left] <= pivot) && (left < right))

left++;

if (left != right)

{

numbers[right] = numbers[left];

right--;

}

}

numbers[left] = pivot;

int pivotIndex = left;

left = l_hold;

right = r_hold;

if (left < pivotIndex)

QuickSortRecursive(numbers, left, pivotIndex - 1);

if (right > pivotIndex)

QuickSortRecursive(numbers, pivotIndex + 1, right);

}

static void CombSort(int[] arr)

{

Console.WriteLine("До сортировки:");

PrintArray(arr);

int n = arr.Length;

double factor = 1.2473309;

int step = n - 1;

while (step >= 1)

{

for (int i = 0; i + step < n; i++)

{

if (arr[i] > arr[i + step])

{

int temp = arr[i];

arr[i] = arr[i + step];

arr[i + step] = temp;

}

}

step = (int)(step / factor);

}

BubbleSortPass(arr);

Console.WriteLine("После сортировки:");

PrintArray(arr);

}

static void BubbleSortPass(int[] arr)

{

for (int i = 0; i < arr.Length - 1; i++)

{

if (arr[i] > arr[i + 1])

{

int temp = arr[i];

arr[i] = arr[i + 1];

arr[i + 1] = temp;

}

}

}

static void SelectionSort(int[] arr)

{

Console.WriteLine("До сортировки:");

PrintArray(arr);

int len = arr.Length;

for (int i = 0; i < len - 1; i++)

{

int min = i;

for (int j = i + 1; j < len; j++)

{

if (arr[j] < arr[min])

min = j;

}

if (min != i)

{

int temp = arr[i];

arr[i] = arr[min];

arr[min] = temp;

}

}

Console.WriteLine("После сортировки:");

PrintArray(arr);

}

}

}

Соседние файлы в предмете Структуры данных