КампутарыПраграмаванне

Java-масівы радкоў. Сартаванне масіва ў Java. Двухмерных масіў Java

У практыцы праграмавання існуе вялікая колькасць розных набораў і тыпаў дадзеных, якімі сістэма можа маніпуляваць і з дапамогай якіх праграміст можа арганізоўваць апрацоўваную інфармацыю.

Тыпы дадзеных у мовах праграмавання

Гэта неад'емная частка большасці моў праграмавання, пры дапамозе якой апісваецца памер і характарыстыка дадзеных, размешчаных у канкрэтнай вочку памяці, што забяспечвае карэктную працу праграм у працэсе выканання той ці іншай прадпісанай аперацыі.

Да прыкладу, адным з асноватворных тыпаў дадзеных з'яўляюцца цэлалікавых зменныя. Яны могуць быць як знакавымі, так і наадварот, а сама назва ўжо перадае інфармацыю пра змесціва вочкі такога роду.

Акрамя цэлалікавых зменных, існуюць іх аналагі з якая плавае коскі, якія выкарыстоўваюцца для прадстаўлення рэчыўных велічынь. Нарэшце, да так званых прымітыўным тыпах дадзеных ставяцца радковыя і знакавыя зменныя і паказальнікі. Усё разам гэта ўяўляе сабой адасобленую моўную адзінку.

структуры дадзеных

Больш высокім узроўнем арганізацыі ў праграмаванні лічыцца аб'яднанне некалькіх адзінак прымітыўнага тыпу дадзеных у больш складаную структуру. Сярод кампазітных тыпаў найбольш распаўсюджанымі лічацца так званыя Java-масівы. Таксама можна вылучыць спісы, картэжы, стэкі і чэргі.

Асноўным адрозненнем масіваў з'яўляецца тое, што яны прадастаўляюць адвольны доступ да сваіх элементам. Тым не менш, складанасць заключаецца ў тым, што памер неабходна максімальна дакладна паказваць на этапе ініцыялізацыі структуры. Гэты недахоп ўстараняецца ў больш складаных тыпах дадзеных, напрыклад, у спісах. Такога роду сістэмы маюць магчымасць дынамічна пашырацца з даданнем новых элементаў, аднак доступ да дадзеных у іх займае большую колькасць часу.

У большасці сучасных моў праграмавання ўсе гэтыя структуры прысутнічаюць і гуляюць вельмі важную ролю ў функцыянаванні як прыкладных праграм, так і ў працы самой экасістэмы. І Java - не выключэнне.

Мова праграмавання Java. асноўныя адзінкі

Java з'яўляецца строга тыпізаванай мовай праграмавання, байткод якога выконваецца ўнутры віртуальнай машыны, што дазваляе выконваць аперацыі і атрымліваць аднолькавы вынік па-за залежнасці ад архітэктуры вылічальнай асяроддзя і аперацыйнай сістэмы.

У апошнім рэлізе мовы Java існуе восем прымітыўных тыпаў: лагічны boolean, цэлалікавых byte, integer, short, long, віды лікаў з якая плавае коскі, прадстаўленыя float і double і знакавы char.

Java-масіў ўяўляе сабой набор дадзеных аднаго тыпу, размешчаных у памяці адзін за адным і якія маюць свой парадкавы нумар (індэкс), па якім праграміст ці сістэма могуць атрымліваць доступ да асобнага элементу, захаванай у масіве. Нумарацыя ў індэксе пачынаецца з нуля (першы элемент) і павялічваецца на адзінку для кожнага наступнага. Пры гэтым Java-масіў прадастаўляе адвольны доступ да дадзеных - карыстацкі код можа звяртацца да любога элемента масіва, па-за залежнасці ад яго размяшчэння ў межах структуры.

аб'екты

Не варта забываць, што Java - гэта перш за ўсё аб'ектна-арыентаваная мова праграмавання. Таму дадзеныя элементы з'яўляюцца неад'емнай часткай мадэлі памяці. Асаблівасцю сістэм такога тыпу можна назваць тое, што Java-масівы могуць захоўваць аб'екты сапраўды гэтак жа, як яны захоўваюць прымітыўныя тыпы дадзеных. Найбольш распаўсюджаным аб'ектам у мове з'яўляюцца радкі. Яны ўяўляюць сабой наборы знакаў, арганізаваных у адзінай і нязменнай вочку памяці.

Масіў радкоў Java з'яўляецца спарадкаваным наборам паказальнікаў на іншыя ўчасткі памяці, у кожным з якіх захоўваецца шуканы аб'ект. Неабходны набор сімвалаў карыстальнік атрымлівае, такім чынам, з аддаленага месцы ў памяці віртуальнай машыны і працуе з ёй непрамую.

Двухмерныя масівы (матрыцы)

Такая з'ява, як матрыца, уяўляе сабой двухмерных масіў Java-аб'ектаў або прымітываў, арганізоўваць іх па прынцыпе "шэраг-слупок". Такую структуру дадзеных часам апісваюць як "масіў масіваў". Звязана гэта з тым, што кожны шэраг элементаў або слупок ўяўляюць сабой звычайны аднамерны Java-масіў, а іх сукупнасць складае матрыцу.

У двухмернай варыянце кожны з вектараў можа мець сваю ўласную даўжыню, выдатную ад астатніх. Пры звароце да асобна ўзятаму элементу масіва выкарыстоўваецца два індэкса для ўказанні размяшчэння патрэбнай вочка памяці. Першы - гэта нумар радка, у якой размешчаны неабходны аб'ект. Другі індэкс - гэта нумар слупка, ці парадкавы нумар элемента ўнутры вектара. Індэксацыя элементаў ўнутры двухмерных структур пачынаецца з нуля, як і ў выпадку з аднамерны масівамі. Таму для звароту да апошняга элемента масіва даўжынёй N знакаў будзе выкарыстоўвацца індэкс [N-1].

сартаванне элементаў

Найбольш распаўсюджанай задачай пры працы з масівамі з'яўляецца менавіта сартаванне. Гэтая трывіяльная на першы погляд задача значна ўскладняецца пры павелічэнні колькасці элементаў ўнутры вектару ці матрыцы.

Існуе вялікая колькасць розных алгарытмаў, прызначаных для сартавання элементаў ўнутры той ці іншай структуры - метад бурбалкі, сартаванне выбарам, выбарка зліццём або метадам ўстаўкі. Усе метады адрозніваюцца паміж сабой хуткасцю выканання пастаўленай задачы і колькасцю памяці, дадаткова неабходнай для захоўвання часавых дадзеных і вынікаў, атрыманых у ходзе прамежкавых аперацый.

Некаторыя алгарытмы могуць мець розны каэфіцыент аптымальнасці ў залежнасці ад набору ўваходных дадзеных. У Java сартаванне масіва можа выконвацца сродкамі стандартнага дапаможнага класа Arrays, які мае статычны метад sort, сартуюць элементы па ўзрастанні і які выкарыстоўвае метад хуткай выбаркі. Тым не менш, дадзены алгарытм з'яўляецца няўстойлівым, а час яго выканання можа адрознівацца нават пры апрацоўцы масіваў аднолькавай даўжыні. Гэтая сартаванне вядомая як найбольш хуткая для упарадкаваных вялікіх выпадковых спісаў. Праграмістам жа даступныя ўсе сродкі для рэалізацыі любога іншага алгарытму сартавання ў адпаведнасці з параметрамі задачы і патрабаваннямі да выніку.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.