Упражнения по алгоритму поиска и сортировки C # Sharp: сортировка вставками
Алгоритм поиска и сортировки C # Sharp: упражнение-6 с решением
Напишите программу на C # Sharp для сортировки списка элементов с помощью сортировки вставками.
Вставка сортировки - это простой алгоритм сортировки, который создает окончательный отсортированный массив (или список) по одному элементу за раз. Он гораздо менее эффективен в больших списках, чем более продвинутые алгоритмы, такие как быстрая сортировка, heapsort или сортировка слиянием.
Иллюстрированная презентация: вставка сортировки
Графический пример вставки сортировки:
Кредиты на анимацию: Swfung8
Пример решения : -
C # острый код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CommonInsertion_Sort
{
class Program
{
static void Main(string[] args)
{
int[] numbers = new int[10] {2, 5, -4, 11, 0, 18, 22, 67, 51, 6};
Console.WriteLine("\nOriginal Array Elements :");
PrintIntegerArray(numbers);
Console.WriteLine("\nSorted Array Elements :");
PrintIntegerArray(InsertionSort(numbers));
Console.WriteLine("\n");
}
static int[] InsertionSort(int[] inputArray)
{
for (int i = 0; i < inputArray.Length - 1; i++)
{
for (int j = i + 1; j > 0; j--)
{
if (inputArray[j - 1] > inputArray[j])
{
int temp = inputArray[j - 1];
inputArray[j - 1] = inputArray[j];
inputArray[j] = temp;
}
}
}
return inputArray;
}
public static void PrintIntegerArray(int[] array)
{
foreach (int i in array)
{
Console.Write(i.ToString() + " ");
}
}
public static int[] InsertionSortByShift(int[] inputArray)
{
for (int i = 0; i < inputArray.Length - 1; i++)
{
int j;
var insertionValue = inputArray[i];
for (j = i; j > 0; j--)
{
if (inputArray[j - 1] > insertionValue)
{
inputArray[j] = inputArray[j - 1];
}
}
inputArray[j] = insertionValue;
}
return inputArray;
}
}
}
Пример вывода:
Оригинальные элементы массива: 2 5 -4 11 0 18 22 67 51 6 Сортированные элементы массива: -4 0 2 5 6 11 18 22 51 67
Блок - схема:
Редактор кода C # Sharp:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C # Sharp для сортировки списка элементов с помощью сортировки в куче.
Далее: Напишите программу на C # Sharp для сортировки списка элементов с помощью сортировки слиянием.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования