Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 51 стр.

UptoLike

51
методом линейного выбора.
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
int.TryParse(Console.ReadLine(), out a[i]);
for (int i = 0; i < n - 1; i++)
{
int min = a[i];
int k = i;
for (int j = i + 1; j < n; j++)
if (a[j] < min)
{
min = a[j]; k = j;
}
if (k != i)
{
int z = a[i]; a[i] = a[k]; a[k] = z;
}
}
Console.WriteLine("Отсортированный массив:");
for (int i = 0; i < n; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
}
}
}
5.2. Метод "пузырька".
При сортировке массива методом пузырька сравниваются
последовательно пары соседних элементов массива. Если упорядоченность
элементов нарушена, меняем их местами. В результате за один проход по
массиву максимальный элемент встает на последнее место (всплывает как
воздушный пузырек в воде). Поэтому дальше можно рассматривать массив,
количество элементов в котором на 1 меньше (исключаем из рассмотрения
последний элемент). В худшем случае будет
1n
таких проходов по массиву.
Если порядок элементов в сравниваемых парах не был нарушен ни разу,
массив является упорядоченным. Для проверки этого создается переменная-
флажок с именем f, принимающая значение 1 в случае, если массив не
упорядочен по возрастанию, и 0 – в противном случае.
Блок-схема решения задачи 5 методом пузырька показана на Рис.4.11.
Код программы для задачи 5 (метод "пузырька").
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
                              методом линейного выбора.
                Console.WriteLine("Введите элементы массива:");
                for (int i = 0; i < n; i++)
                    int.TryParse(Console.ReadLine(), out a[i]);
                for (int i = 0; i < n - 1; i++)
                {
                    int min = a[i];
                    int k = i;
                    for (int j = i + 1; j < n; j++)
                        if (a[j] < min)
                        {
                            min = a[j]; k = j;
                        }
                    if (k != i)
                    {
                        int z = a[i]; a[i] = a[k]; a[k] = z;
                    }
                }
                Console.WriteLine("Отсортированный массив:");
                for (int i = 0; i < n; i++)
                    Console.Write("{0} ", a[i]);
                Console.WriteLine();
            }
        }
    }


    5.2. Метод "пузырька".
    При     сортировке    массива     методом    пузырька    сравниваются
последовательно пары соседних элементов массива. Если упорядоченность
элементов нарушена, меняем их местами. В результате за один проход по
массиву максимальный элемент встает на последнее место (всплывает как
воздушный пузырек в воде). Поэтому дальше можно рассматривать массив,
количество элементов в котором на 1 меньше (исключаем из рассмотрения
последний элемент). В худшем случае будет n  1 таких проходов по массиву.
Если порядок элементов в сравниваемых парах не был нарушен ни разу,
массив является упорядоченным. Для проверки этого создается переменная-
флажок с именем f, принимающая значение 1 в случае, если массив не
упорядочен по возрастанию, и 0 – в противном случае.
    Блок-схема решения задачи 5 методом пузырька показана на Рис.4.11.

    Код программы для задачи 5 (метод "пузырька").
    using System;

    namespace Examples
    {
        class Program1
        {
            static void Main(string[] args)
                                        51