Алгоритми за сортиране

by Delyan Stoyanov

This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Алгоритми за сортиране

  • Joined Jan 2021
  • Published Books 3
Алгоритми за сортиране by Delyan Stoyanov - Ourboox.com

Bubble 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 };

 

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();

}

}

}

4
5
Алгоритми за сортиране by Delyan Stoyanov - Ourboox.com

Selection Sort

Този алгоритъм за сортиране е известен на български още като сортиране чрез пряка селекция.

Принципът му на действие се състои в :

-1.Намиране на най-малкият елемент от масива

-2.Размяна на стойностите на този елемент с първия елемент от масива

-3.Тези действия се повтарят докато се изчерпят всички елементи и масивът бъде подреден в нарастващ ред

7

Пример за програма с метод на пряка селекция:

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();

}

}

8
This free e-book was created with
Ourboox.com

Create your own amazing e-book!
It's simple and free.

Start now

Ad Remove Ads [X]
Skip to content