Сортировка обменом (пузырьковая) - C#
Формулировка задачи:
Ребята, помогите!
Надо сделать так, чтобы программа не выполняла лишних действий.
А именно чтобы элементы, которые ушли в "конец" массива не сравнивались в дальнейшем с остальными, как то так)
ЧТобы доказать это, надо через консоль вывести количество выполненных сравнений.
вот код программы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lab_4
{
class Program
{
static void Main()
{
Console.WriteLine("Сортировка обменом");
Console.Write("Введите размер массива: ");
int i, j, c;
int n = Convert.ToInt32(Console.ReadLine());
int[] array = new int[n];
Random random = new Random();
Console.WriteLine("Исходный массив");
for (i = 0; i < n; i++)
{
array[i] = random.Next(0, 50);
Console.Write(array[i] + " ");
}
Console.WriteLine();
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < (n-1-i); j++)
{
if (array[j] > array[j+1])
{
c = array[j];
array[j] = array[j+1];
array[j+1] = c;
}
}
}
Console.WriteLine("Отсортированный массив.");
for (i = 0; i < n; i++)
{
Console.Write(array[i] + " ");
}
Console.ReadKey();
}
}
}Решение задачи: «Сортировка обменом (пузырьковая)»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lab_4
{
class Program
{
static void Main()
{
Console.WriteLine("Сортировка обменом");
Console.Write("Введите размер массива: ");
int i, j, c,;
int kolvo = 0;
int n = Convert.ToInt32(Console.ReadLine());
int[] array = new int[n];
Random random = new Random();
Console.WriteLine("Исходный массив");
for (i = 0; i < n; i++)
{
array[i] = random.Next(0, 50);
Console.Write(array[i] + " ");
}
Console.WriteLine();
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < (n-1-i); j++)
{
kolvo++; // количество сравнений
if (array[j] > array[j+1])
{
c = array[j];
array[j] = array[j+1];
array[j+1] = c;
}
}
}
Console.WriteLine("Отсортированный массив.");
for (i = 0; i < n; i++)
{
Console.Write(array[i] + " ");
}
Console.Write("количество сравнений =" + kolvo );
Console.ReadKey();
}
}
}