by Delyan Stoyanov
Copyright © 2021
Bubble Sort (Метод на мехурчето)
Методът на мехурчето е един от най-известните алгоритмни за сортиране :
-1.Той сравнява последователно всичка двойка съседни елементи една с друга.
-2.Ако се окаже, че вторият елемент е по-голям местата им се разменят.
Въпреки, че методът на мехурчето е един от най-простите методи за сортиране ефективността му бързо намалява при употреба в големи редици от данни. Не е ефективен и при редици, подредени в обратен ред.
Пример за програма с метод на мехурчето:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Метод на мехурчето за сортиране на масив
int[] arr = new int[] { 6, 9, 4, 3, 5, 1, 42, -2 };
for (int i = 0; i < arr.Length – 1; i++)
{
for(int j=0; j<arr.Length – 1; j++)
if (arr[j] > arr[j + 1])
{
int t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
for(int i=0; i< arr.Length; i++)
Console.Write(arr[i]+ ” “);
Console.WriteLine();
}
}
}
Selection Sort
Този алгоритъм за сортиране е известен на български още като сортиране чрез пряка селекция.
Принципът му на действие се състои в :
-1.Намиране на най-малкият елемент от масива
-2.Размяна на стойностите на този елемент с първия елемент от масива
-3.Тези действия се повтарят докато се изчерпят всички елементи и масивът бъде подреден в нарастващ ред
Пример за програма с метод на пряка селекция:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{ //метод на пряката селекция за сортиране на масив
int[] arr = new int[] { 6, 9, 4, 3, 5, 1, 42, -2 };
int i, j, m, p;
for (i = 0; i < arr.Length – 1; i++)
{
m = arr[i];
p = i;
for(j=i+1; j<arr.Length; j++)
if (m > arr[j])
{
m=arr[j];
p=j;
}
arr[p] = arr[i];
arr[i] = m;
}
for ( i = 0; i < arr.Length; i++)
Console.Write(arr[i] + ” “);
Console.WriteLine();
}
}
Published: Jan 28, 2021
Latest Revision: Jan 28, 2021
Ourboox Unique Identifier: OB-1023102
Copyright © 2021