/ / Буббле сортирање једнодимензионалног низа: алгоритам, Ц програмски код

Буббле сортирање једнодимензионалног низа: алгоритам, програмски код на језику Ц

У раду са информацијама најпрофитабилнијеначини његовог складиштења су структуре и низови. Овај други може да садржи било који тип једне врсте података, који је погодан за коришћење у раду програма. Често се користе у раду онлине продавница и у развоју игара. Према томе, подаци садржани у њима се више пута сортирају и замењују, а на њима се врше логичке или математичке операције. Један од начина да се ред доведе у низ је сортирање балона. Ова публикација ће проучити свој Ц код и логику пермутација.

Алгоритам сортирања Арраи

Техничке тешкоће за програмерасортирање балона једнодимензионалног низа не представља, мада се користи ретко због ниског степена ефикасности. Често се у фази тренинга сматра најједноставнијим. Међутим, далеко је од тога да није најефикаснији. Његов алгоритам састоји се од упоређивања упоређивања цифара и међусобно преклапања ћелија уколико је испуњен услов.

сортирање балона

Опис по сортирању по кораку

На првој итерацији, двасусједни бројеви. Ако је лева већа, онда је поново написана у местима са десним. Минус 8 и 0 услови не задовољавају. Зато се не мењају на местима. Зеро и 5 се такође не уклапају. 5 и 3 су погодни. Међутим, при овој итерацији, оквир за читање не падне на првих пет, већ се помера на десно, јер 5 пре него што се то упоредило са нулом. То значи да следећи пар - 3 и 9 мења места. Тада је читачу понуђено да самостално прегледа све замене без коментара аутора и да проучава алгоритам сортирања балона.

Алгоритам сортирања балона

Као резултат свих итерација, низ постепеноје сортиран, а то је у суштини случај: велики позитивни бројеви се брзо помера десно, док се мањи и негативни полако померају лево. Изгледа да се гасови у течном стању брзо расту. Због ове аналогије, алгоритам се назива сортирање балона.

Процена рачунске комплексности

Идеални алгоритам сортирања треба да будешто је брже могуће. Истовремено, требало би да заузме малу количину ЦПУ и меморијских ресурса. А такав поступак као сортирање балона у балону не може бити енергетски ефикаснији и профитабилнији. Због широке примене, он није нашао. Ако у овом тренутку има мање проблема са меморијом, онда би требали бити забринути процесорски ресурси. Пошто дигитални низови могу бити не само велики, већ велики, онда ће потрошња рачунарских ресурса бити непредвидљива.

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

Софтверски код

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

Алгоритам сортирања балона

Да би извршио ову функцију, корисник моракреирајте низ који треба попунити жељеним вредностима. Ово се може урадити ручно, постављањем димензије и бројем елемената на почетку програма. Тада можете попунити низ са константним вредностима. Друга опција је стварање универзалног програма декларацијом великог једнодимензионалног низа од 100 елемената.

Декларација и иницијализација низа

Додељивање цијеле варијабле и додјељивањеВредност која се чита са тастатуре може ограничити број ћелија које ће бити попуњене. Такође можете применити функцију уноса елемената мрее од стране корисника са тастатуре, користећи сцанф функцију ("% д" и вриједност). У овом примјеру, "% д" је модификовани низ који говори компајлеру да ће целокупна вриједност бити примљена након скенирања. Променљива вредност ће сачувати вредност која је величина једнодимензионалног низа бројева.

Да бисте користили алгоритам сортирања, требали бистеда пренесете функцију име поља и величину. У ситуацији која је приказана у графичкој апликацији, позив на функцију сортирања ће изгледати овако: БублеСорт (датаАрраи, сизеДатаАрраи). Наравно, на крају линије након функције, требало би ставити тачка-тачка умјесто периода, како то захтијевају синтаксна правила програма. Дакле, датаАрраи је назив низа који желите да сортирате, а сизеДатаАрраи је његова величина.

сортирање балона

Преношење ових параметара у функцију БублеСорт ()ће резултирати тиме да ће умјесто кориштења сизеАрраи, као што можете видети на слици, у стварном програму операције извршавати с сизеДатаАрраи. То такође значи да ће БублеСорт () функција користити целокупни датаАрраи. Слично томе, позивају се и принтАрраиФунцтион () и АрраиИнтегерИнпутФунцтион (). Први је одговоран за штампање, односно за излаз на конзолу елемената. А други је потребан да га попуни елементима које корисник унесе са тастатуре.

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

Сортирање уметака

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

мехуриће сорти

Таква обрада је бржа и има мање рачунске комплексности. Ц код је представљен у графичкој апликацији.

спровести сортирање балона

Такође је приказан у облику функције у којој сеКао аргумената, преноси се назив низа који треба поручити и величина поља. Овде можете видети како је споро сорта балона. Укључује сличан рад много бржи и има компактан код.

Прочитајте више: