Упорядочить данный массив по возрастанию, используя сортировку линейным выбором с обменом. - C#
Формулировка задачи:
Задан массив действительных чисел a1 ,a2,... an. Упорядочить данный
массив по возрастанию, используя сортировку линейным выбором с обменом.
Решение задачи: «Упорядочить данный массив по возрастанию, используя сортировку линейным выбором с обменом.»
textual
Листинг программы
using System;
//Задан массив действительных чисел a1 ,a2,... an. Упорядочить данный
//массив по возрастанию, используя сортировку линейным выбором с обменом.
namespace Massiv4
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите размерность массива n = ");
int n = Convert.ToInt32(Console.ReadLine());
double[] mas = new double[n];
Random rand = new Random();
for (int i = 0; i < mas.Length; ++i)
{
mas[i] = rand.NextDouble() * 200 - 100;
}
ShowMassiv(mas, "Исходный массив:");
SortMassiv(ref mas);
ShowMassiv(mas, "Отсортированный массив:");
Console.ReadKey();
}
//Вывод массива
static void ShowMassiv(double[] mas, string str)
{
Console.WriteLine(str);
for (int i = 0; i < mas.Length; ++i)
{
Console.Write("{0:#.##} ", mas[i]);
}
Console.WriteLine();
}
//Сортировка массива
static void SortMassiv(ref double[] mas)
{
for (int i = 0; i < mas.Length - 1; i++)
{
int min = i;
for (int j = i + 1; j < mas.Length; j++)
{
if (mas[j] < mas[min])
{
min = j;
}
}
if (min != i)
{
double temp = mas[i];
mas[i] = mas[min];
mas[min] = temp;
}
}
}
}
}