У раду са информацијама, најпрофитабилнијиначини његовог складиштења су структуре и низови. Последњи може да садржи било који податак истог типа који је погодан за коришћење у раду програма. Често се користе у онлајн продавницама иу развоју игара. Због тога се подаци садржани у њима више пута сортирају и замењују, а над њима се изводе логичке или математичке операције. Један од начина да се доведе ред у низ је сортирање мехурића. У овој публикацији ће се проучавати њен програмски код на језику Ц и логика пермутација.
Техничке потешкоће за програмерабуббле сорт не представља једнодимензионални низ, иако се ретко користи због ниске ефикасности. У фази обуке се чешће посматра као најједноставнији. Међутим, далеко је од најефикаснијег. Његов алгоритам се састоји од наизменичног поређења цифара и међусобног преписивања ћелија, ако је услов испуњен.
Прва итерација постепено упоређује двесуседни бројеви. Ако је леви већи, онда се на местима преписује десним. Минус 8 и 0 не задовољавају услове. Стога не мењају места. Нула и 5 такође нису погодни. 5 и 3 су погодни. Међутим, при таквој итерацији оквир читања не пада на пет, већ се помера удесно, пошто је 5 претходно упоређено са нулом. То значи да се замењују следећи пар, 3 и 9. Даље, читалац је позван да сам прегледа све замене без коментара аутора и да проучи алгоритам сортирања мехурића.
Као резултат свих итерација, низ се постепеноје сортирано, а то се у основи дешава овако: велики позитивни бројеви се брзо померају удесно, док се мањи и негативни бројеви померају полако улево. Изгледа да мехурићи гаса у течности брзо плутају. Због ове аналогије, алгоритам је назван сортирањем мехурића.
Идеалан алгоритам за сортирање би требао битишто је брже могуће. Истовремено, требало би да одузме малу количину процесорских и меморијских ресурса. А процес као што је сортирање низа помоћу мехурића можда није енергетски најефикаснији и најефикаснији. Стога није нашао широку примену. Ако у овом тренутку има мање проблема са меморијом, онда би ресурси процесора требали бити забринути. Пошто дигитални низови могу бити не само велики, већ и огромни, потрошња рачунарских ресурса ће се показати непредвидивом.
Ако је сортирање мехура, у принципу, брзосе носи са довођењем ствари у ред у релативно малом низу, онда у великом може доћи до кварова због прекомерне употребе ресурса. То значи да ће својство универзалности инхерентно алгоритму бити нарушено. Штавише, сортирање мехурића има Н-квадратну сложеност и веома је далеко од логаритма Н сложености. Поред тога, ризик од неуспеха приликом обраде великог низа повећава шансе за губитак података услед преписивања ћелија. У том смислу, сортирање уметањем или Схелл алгоритам ће бити много исплативији.
Наведено испод на графичкој применикомпјутерски код за језик Ц омогућава сортирање мехурића. Представља се као посебна функција типа празнине. Не враћа никакве вредности, али користи показиваче за замену ставки на основу услова сортирања. У овом случају, код решава проблем сортирања низа целих бројева узлазним редоследом.
Да би извршио ову функцију, корисник моракреирати низ који треба попунити жељеним вредностима. Ово се може урадити ручно подешавањем димензије и броја елемената на почетку програма. Затим можете попунити низ константним вредностима. Друга опција је креирање универзалног програма декларисањем великог једнодимензионалног низа од 100 елемената.
Постављањем целобројне променљиве и додељивањем њојвредност прочитана са тастатуре, можете ограничити број ћелија које ће бити попуњене. Такође је могуће имплементирати функцију уноса елемената низа од стране корисника са тастатуре помоћу функције сцанф ("% д", & валуе). У овом примеру, „% д“ је низ модификатора који говори компајлеру да ће се након скенирања вратити целобројна вредност. Вредност променљиве ће ускладиштити вредност која је величина једнодимензионалног низа целих бројева.
Да бисте користили алгоритам за сортирање, требало бипренети име низа и његову величину функцији. У ситуацији представљеној у графичкој апликацији, позив функције сортирања ће изгледати овако: БублеСорт (датаАрраи, сизеДатаАрраи). Наравно, на крају реда након функције треба ставити тачку и зарез уместо тачке, како то захтевају правила синтаксе програма. Дакле, датаАрраи је име низа који се сортира, а сизеДатаАрраи је његова величина.
Прослеђивање ових параметара у функцију БублеСорт ().ће резултирати чињеницом да ће се уместо коришћења сизеАрраи, као што можете видети на слици, у реалном програму, операције обављати са сизеДатаАрраи. Ово такође значи да ће се низ целих бројева датаАрраи користити у функцији БублеСорт (). Функције принтАрраиФунцтион () и АрраиИнтегерИнпутФунцтион () се позивају на исти начин. Први је одговоран за штампање, односно за приказивање ставки у конзоли. А други је потребан да се попуни елементима које је корисник унео са тастатуре.
Овај стил програмирања када је изолованоперације се спроводе у виду функција, значајно повећава читљивост кода и убрзава његов развој. У таквом програму се посебно ваде попуњавање низа са тастатуре, његово штампање и само сортирање мехурића. Ово последње се може користити за наручивање података или као споредна функција дизајнирана да пронађе минимум и максимум низа.
Сортирање уметањем претпостављанаизменично упоређивање сваког елемента и грађење ланца елемената већ сортираних према услову. Као резултат, резултат сваког следећег поређења је претрага ћелије у коју се може поставити нова вредност. Али уметање сваког од њих се врши у већ сортирани део низа.
Ова обрада је бржа и рачунарски мање сложена. Ц код је представљен у графичкој апликацији.
Такође се приказује у облику функције, у коју уиме низа који треба наручити и величина низа се прослеђују као аргументи. Овде можете видети колико је споро сортирање мехурића. Уметци обављају сличан посао много брже и имају компактан програмски код.