You are on page 1of 3

ПЗ 3

using System;

namespace ПЗ_3_Захаров
{

//Задача 5

public class RecBubSort


{

public static void bubbleSort(int[] arr,


int n)
{

if (n == 1)
return;

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


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

int temp = arr[i];


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

bubbleSort(arr, n - 1);
}

//Задача 4

public class InsertionSort


{

public void sort(int[] arr)


{
int n = arr.Length;
for (int i = 1; i < n; ++i)
{
int key = arr[i];
int j = i - 1;

while (j >= 0 && arr[j] > key)


{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}

public void printArray(int[] arr)


{
int n = arr.Length;
for (int i = 0; i < n; ++i)
Console.Write(arr[i] + " ");

Console.Write("\n");
}

//Задача 6
public class RecInsSort
{

public static void insertionSortRecursive(int[] arr,


int n)
{

if (n <= 1)
return;

insertionSortRecursive(arr, n - 1);

int last = arr[n - 1];


int j = n - 2;

while (j >= 0 && arr[j] > last)


{
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = last;
}
}
class Program
{
static void Main(string[] args)
{
int[] arr = { 12, 2, 13, 5, 6 };
InsertionSort ob = new InsertionSort();
ob.sort(arr);
for (int i = 0; i < arr.Length; ++i)
Console.Write(arr[i] + " ");

Console.WriteLine();

RecBubSort.bubbleSort(arr, arr.Length);

Console.WriteLine("Sorted array : ");


for (int i = 0; i < arr.Length; i++)
Console.Write(arr[i] + " ");

Console.WriteLine();

RecInsSort.insertionSortRecursive(arr, arr.Length);

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


Console.Write(arr[i] + " ");
}
}

You might also like