Увод о сортирању у Ц ++

Имајући колекцију елемената по наруџби, сортирање помаже у уређењу елемената у запису на основу односа наруџбе. Размотрите запис датотеке који садржи пуно информација, да бисте приступили листи из записа потребно је имати кључно поље које ће усмјерити тренутну локацију елемента. На пример, размотрите листу имена у бази података, она би могла бити поредана по абецеди. Разврставање је играло важну улогу у области рачунара и технологије. Да видимо више у овом чланку.

Шта је сортирање у Ц ++?

Разврставање је основни концепт који програмер или истраживач користи за сортирање потребних улаза. Редослед сложености дат је са 0 (Н * лог (Н)). Сортирање улаза олакшава решавање многих проблема као што су Сеарцх, Макимум и Минимум. Иако се сортирањем података сређују у редоследу, ефикасност поступка је веома важна која се заснива на два критеријума: - Време и меморија потребни за сортирање на датим подацима. Време се мери рачунањем поређења коришћених кључева. На располагању је много алгоритама за сортирање. Генерално, сортирање у Ц ++ се разликује у две врсте:

  1. Интерно сортирање
  2. Спољно сортирање

Синтакса и пример

Синтакса:

Ц ++ користи сортирану () уграђену функцију за своје алгоритме, за сортирање спремника попут вектора и низова.

Сорт (низ, низ + величина);

Примери:

#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)
#include
using namespace std;
int main ()
(
int ins(12) = ( 19, 13, 5, 27, 1, 26, 31, 16, 2, 9, 11, 21);
cout<<"\nInput list is \n";
for(int i=0;i<12;i++)
(
cout < )
for(int k=1; k<12; k++)
(
int t = ins(k);
int j= k-1;
while(j>=0 && t <= ins(j))
(
ins(j+1) = ins(j);
j = j-1;
)
ins(j+1) = t;
)
cout<<"\nSorted list is \n";
for(int i=0;i<12;i++)
(
cout < )
)

Излаз:

Како то функционише?

За почетак ћемо узети Куицк Сорт, који се сматра важном методом међу разним врстама сортирања. Основно разврставање низа подразумева Куицксорт приступ. Постоје различити начини за имплементацију сортирања, циљ сваке од ових техника је исти као упоређивање два елемента и њихово замењивање привременом променљивом. У овом чланку ћемо расправљати о најважнијим сортирањима која се користе за примену. Следе:

  1. Буббле Сорт
  2. Инсертион Сорт
  3. Куицк Сорт
  4. Избор сортирања

Постоје Мерге Сорт, сортирање радик-а, сортирање врпца о којима бисмо могли касније расправљати. Прво ћемо ићи са Буббле врстом.

1. Буббле Сорт

Разврставање мјехурића један је од најједноставнијих метода сортирања које можемо користити за апликације. У овој техници, сукцесивне замене се врше кроз записе које се сортирају. У сваком кораку, он упоређује кључ са подацима и размењује елементе, ако не у жељеном редоследу. Разврставање се врши са суседним елементима у време када се само један елемент постави на сортирано место после замене.

Пример: Узмимо у обзир неконсортовани низ А () = (6, 2, 4, 7, 1)

62471
А (0)А (1)А (2)А (3)А (4)

Корак 1: Упоређивање А (0)> А (1), ако је услов тачан, замените елемент (6> 2) тачно, ставите 2 у А (0). Слично томе, сви кораци се предузимају док се низ не разврста.

Сада је низ А () = (2, 6, 4, 7, 1)

Корак 2: 6 се упоређује са 4. Како је 6 веће од 4. Стога се 6 и 4 мењају.

Сада је низ А () = (2, 4, 6, 7, 1)

Корак 3: Елемент 6 се упоређује са 7. Пошто су 6 <2 и елементи су у узлазном редоследу, елементи се не мењају.

Поредани низ је А () = (2, 4, 6, 7, 1).

Наставите поступак док се низ не сортира.

2. Сортирање уметања

У овој техници започињемо с другим елементом података претпостављајући да је први елемент већ сортиран и упоређен са другим елементом, а корак се наставља са другим наредним елементом. У низу Н елемената, потребно је имати пропусте Н-1 да би се сортирао елемент.

Размотрите низ А () = (8, 3, 6, 1)

8361

Корак 1: Први елемент тражи највећи елемент у низу који се може заменити. Ако је већи, остаје исти и прелази на други елемент, овде је 8 веће од свих, не врши се замјена.

8361

2. корак: Замена са другим елементом

3861

Корак: Замјена трећим елементом

3681

4. корак: Замена са четвртим елементом

1368

3. Брзо сортирање

Ова техника прати алгоритам за подешавање и освајање и сматра се веома ефикасном као и бржом за огромне низове. Подељени су у три подсекције: леви, десни и средњи. Средњи елемент има једну вредност и именован је као окретни елемент. Механизам иде овако, елемент у левом сегменту не би требао имати кључ већи од средњег елемента и ниједан елемент у десном нема кључ који је мањи од средњег елемента. Сада кренимо са илустрацијом процеса сортирања. При сортирању под-дела Куицксорт користи рекурзивни концепт. Низ је подељен на поддео, поново леви и десни сегменти раздвајају се освајањем. Овде у овом примеру узимајући у обзир да последњи елемент има стожер и први елемент се претпоставља да је низак. Размислите о низу елемената

492211165630

Узимање крајњег десног елемента има стожерни елемент = 30

162211305649

Елемент већи од стожера постављен је улево, мањи десно.

1622115649

Показивач се поставља на окретни зглоб и подељује се око окретнице.

1122165649

Поддијелови су сортирани појединачно.

111622304956

На крају, добили смо сортирани низ.

4. Избор сортирања

Ова техника се назива и размењивање сортирањем, које врши двоструко претраживање и сортирање. Имплементација подразумијева равно сортирање одабира како је доље дефинирано. Овде је потребно идентификовати најмањи елемент који је присутан у низу и тај је елемент сортиран у првом положају, а затим је идентификован други најмањи елемент и сортиран је у другом положају. Одабир сортирања излази из своје петље када несортирани пододјељак постане празан. Временска сложеност је дата као О (н 2 ).

Размотрите следећи низ:

6326132312

1. Проналажење најмањег елемента и постављање на почетак и замени га положајем.

1226132363

2. Други елемент а (1) се идентификује и упоређује са минималним елементом и поставља га у други положај, слично као што се наставља.

1213262364

Коначни сортирани излаз

1213232664

Закључак

У закључку, овај се чланак фокусирао на концепте сортирања и њихов радни механизам. Све ове технике сортирања користе концепте паралелне обраде. Сортирање формира језгро у саставу алгоритама за решавање проблема података у стварном свету сортирањем скупа вредности према захтевима.

Препоручени чланци

Ово је водич за сортирање у Ц ++. Овде разговарамо о Уводу и синтакси са примерима заједно са Како то функционише. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Разврставање у Таблеау
  2. Итератор у Ц ++
  3. Функције матрице у Ц
  4. Поредај на Ц
  5. Како се врши сортирање у ПХП-у?
  6. Хеап Сорт ин Питхон
  7. Итератор на Јави
  8. Топ 11 функција и предности Ц ++
  9. Итератор у Питхон-у | Предности и примери Питхона

Категорија: