namespace SortingAlgorithms
static void Main(string[] args)
Console.WriteLine("Сонгоно уу: ");
Console.WriteLine("1: Text Search");
Console.WriteLine("2: Selection Sort");
Console.WriteLine("3: Bubble Sort");
Console.WriteLine("4: Insertion Sort");
Console.WriteLine("5: Shell Sort");
int choice = int.Parse(Console.ReadLine());
Console.WriteLine("Буруу сонголт");
string text = "health science";
Console.WriteLine("Text: " + text);
Console.WriteLine("Pattern: " + pat);
char[] W = pat.ToCharArray();
char[] S = text.ToCharArray();
int i, j, m = W.Length, n = S.Length;
for (i = 0, j = 0; j < m && i < n; i++, j++)
if (S[i] != W[j]) { i++; j = 0; }
Console.WriteLine("Oldloo. {0} dakhi bairlal", i - m);
Console.WriteLine("Oldsongui");
static void SelectionSort()
int[] array = { 1020, 530, 2560, 40 };
int array_size = array.Length;
Console.WriteLine("Эрэмбэлэхээс өмнөх массивын элементүүд:");
foreach (var item in array) Console.WriteLine(item);
for (int j = 0; j < array_size - 1; j++)
for (int k = j + 1; k < array_size; k++)
if (array[k] < array[min_key]) min_key = k;
int temp = array[min_key];
array[min_key] = array[j];
Console.WriteLine("Эрэмбэлсний дараах массивийн элементүүд:");
foreach (var item in array) Console.WriteLine(item);
int[] array = { 1023450, 52340, 20234, 420 };
int array_size = array.Length;
Console.WriteLine("The array before Bubble Sort is:");
foreach (var item in array) Console.WriteLine(item);
for (int index = array_size - 2; index >= 0; index--)
for (int i = 0; i <= index; i++)
if (array[i] > array[i + 1])
Console.WriteLine("Array after pass:");
foreach (var item in array) Console.WriteLine(item);
Console.WriteLine("Finally, The array after Bubble Sort is:");
foreach (var item in array) Console.WriteLine(item);
static void InsertionSort()
int[] array = { 100, 55, 99, 50, 40 };
Console.WriteLine("The array before Insertion Sort is:");
foreach (var item in array) Console.WriteLine(item);
for (int i = 1; i < array.Length; i++)
while (k >= 0 && array[k] > temp)
Console.WriteLine("The array after Insertion Sort is:");
foreach (var item in array) Console.WriteLine(item);
int[] numbers = { 500, 4, 65 };
int array_size = numbers.Length;
Console.WriteLine("Before Shell Sort:");
foreach (var item in numbers) Console.Write(item + " ");
for (int i = 0; i < array_size; i++)
while ((j >= h) && (numbers[j - h] > temp))
numbers[j] = numbers[j - h];
Console.WriteLine("After Shell Sort:");
foreach (var item in numbers) Console.Write(item + " ");