Поддерживать
www.wikidata.ru-ru.nina.az
U etogo termina sushestvuyut i drugie znacheniya sm Massiv Massiv struktura dannyh hranyashaya nabor znachenij elementov massiva identificiruemyh po indeksu ili naboru indeksov prinimayushih celye ili privodimye k celym znacheniya iz nekotorogo zadannogo nepreryvnogo diapazona Odnomernyj massiv mozhno rassmatrivat kak realizaciyu abstraktnogo tipa dannyh vektor Dvumernyj massiv mozhet nazyvatsya takzhe tablica ryad vektor matrica Razmernost massiva eto kolichestvo indeksov neobhodimoe dlya odnoznachnoj adresacii elementa v ramkah massiva Po kolichestvu ispolzuemyh indeksov massivy delyatsya na odnomernye dvumernye tryohmernye i t d Forma ili struktura massiva svedeniya o kolichestve razmernostej i razmere protyazhyonnosti massiva po kazhdoj iz razmernostej mozhet byt predstavlena odnomernym massivom Osobennostyu massiva kak struktury dannyh v otlichie naprimer ot svyaznogo spiska yavlyaetsya konstantnaya vychislitelnaya slozhnost dostupa k elementu massiva po indeksu Massiv otnositsya k strukturam dannyh s proizvolnym dostupom V prostejshem sluchae massiv imeet konstantnuyu dlinu po vsem razmernostyam i mozhet hranit dannye tolko odnogo zadannogo pri opisanii tipa Ryad yazykov podderzhivaet takzhe dinamicheskie massivy dlina kotoryh mozhet izmenyatsya vo vremya vypolneniya programmy i geterogennye massivy kotorye mogut v raznyh elementah hranit dannye razlichnyh tipov Nekotorye specifichnye tipy massivov ispolzuemye v razlichnyh yazykah i realizaciyah associativnyj massiv derevo otrezkov V spisok parallelnyj massiv razrezhennyj massiv Osnovnye dostoinstva ispolzovaniya massivov lyogkost vychisleniya adresa elementa po ego indeksu poskolku elementy massiva raspolagayutsya odin za drugim odinakovoe vremya dostupa ko vsem elementam malyj razmer elementov oni sostoyat tolko iz informacionnogo polya Sredi nedostatkov nevozmozhnost udaleniya ili dobavleniya elementa bez sdviga drugih pri ispolzovanii staticheskih massivov a pri ispolzovanii dinamicheskih i geterogennyh massivov bolee nizkoe bystrodejstvie iz za nakladnyh rashodov na podderzhku dinamiki i raznorodnosti Pri rabote s massivami s realizaciej po tipu yazyka Si s ukazatelyami i otsutstvii dopolnitelnyh sredstv kontrolya tipichnoj oshibkoj vremeni vypolneniya yavlyaetsya ugroza vyhoda za granicy massiva i povrezhdeniya dannyh Varianty realizaciiMassiv uporyadochennyj nabor elementov kazhdyj iz kotoryh hranit odno znachenie identificiruemoe s pomoshyu odnogo ili neskolkih indeksov V prostejshem sluchae massiv imeet postoyannuyu dlinu i hranit edinicy dannyh odnogo i togo zhe tipa a v kachestve indeksov vystupayut celye chisla Kolichestvo ispolzuemyh indeksov massiva mozhet byt razlichnym massivy s odnim indeksom nazyvayut odnomernymi s dvumya dvumernymi i tak dalee Odnomernyj massiv nestrogo sootvetstvuet vektoru v matematike dvumernyj stroka stolbec matrice Chashe vsego primenyayutsya massivy s odnim ili dvumya indeksami rezhe s tremya eshyo bolshee kolichestvo indeksov vstrechaetsya krajne redko Pervyj element massiva v zavisimosti ot yazyka programmirovaniya mozhet imet razlichnyj indeks Razlichayut tri osnovnyh raznovidnosti massivov s otschyotom ot nulya zero based s otschyotom ot edinicy one based i s otschyotom ot specificheskogo znacheniya zadannogo programmistom n based Otschyot ot nulya bolee harakteren dlya nizkourovnevyh yazykov programmirovaniya hotya vstrechaetsya i v yazykah vysokogo urovnya naprimer ispolzuetsya pochti vo vseh yazykah semejstva Si V ryade yazykov Paskal Ada Modula 2 diapazon indeksov mozhet opredelyatsya kak proizvolnyj diapazon znachenij lyubogo tipa dannyh privodimogo k celomu to est celyh chisel simvolov perechislenij dazhe logicheskogo tipa v poslednem sluchae massiv imeet dva elementa indeksiruemyh znacheniyami Istina i Lozh Primer fiksirovannogo massiva na yazyke Paskal Odnomernyj massiv celyh chisel Numeraciya elementov ot 1 do 15 a array 1 15 of Integer Dvumernyj massiv simvolov Numeraciya po stolbcam po tipu Byte ot 0 do 255 po strokam ot 1 do 5 multiArray array Byte 1 5 of Char Odnomernyj massiv iz strok Numeraciya po tipu word ot 0 do 65536 rangeArray array Word of String Primer fiksirovannogo massiva na Siint Array 10 Odnomernyj massiv celyh chisel razmera 10 Numeraciya elementov ot 0 do 9 double Array 12 15 Dvumernyj massiv veshestvennyh chisel dvojnoj tochnosti razmera 12 na 15 Numeraciya po strokam ot 0 do 11 po stolbcam ot 0 do 14 V nekotoryh yazykah programmirovaniya mnogomernye massivy sozdayutsya na osnove odnomernyh u kotoryh elementy yavlyayutsya massivami Primer dvumernogo massiva na JavaScript Sozdanie dvumernogo massiva chisel var array 11 12 13 14 15 16 Pervaya stroka massiv 21 22 23 24 25 26 Vtoraya 31 32 33 34 35 36 Tretya Vyvod massiva na konsol array forEach subArray gt Dlya kazhdogo pod massiva subArray forEach item gt dlya kazhdogo ego elementa console log item vyvesti etot element na konsol Podderzhka indeksnyh massivov svoj sintaksis obyavleniya funkcii dlya raboty s elementami i tak dalee est v bolshinstve vysokourovnevyh yazykov programmirovaniya Maksimalno dopustimaya razmernost massiva tipy i diapazony znachenij indeksov ogranicheniya na tipy elementov opredelyayutsya yazykom programmirovaniya ili konkretnym translyatorom V yazykah programmirovaniya dopuskayushih obyavleniya programmistom sobstvennyh tipov kak pravilo sushestvuet vozmozhnost sozdaniya tipa massiv V opredelenii takogo tipa zadayutsya tipy i ili diapazony znachenij kazhdogo iz indeksov i tip elementov massiva Obyavlennyj tip v dalnejshem mozhet ispolzovatsya dlya opredeleniya peremennyh formalnyh parametrov i vozvrashaemyh znachenij funkcij Nekotorye yazyki podderzhivayut dlya peremennyh massivov operacii prisvaivaniya kogda odnoj operaciej vsem elementam massiva prisvaivayutsya znacheniya sootvetstvuyushih elementov drugogo massiva Obyavlenie tipa massiv v yazyke Paskaltype TArrayType array 0 9 of Integer Massivy imeyushie zadannye parametry 1 Razmer 10 yacheek 2 Tip elementov prigodnyh dlya hraneniya celye chisla diapazona 32 768 32 767 obyavlyayutsya tipom operandov nazyvayushimsya TArrayType var arr1 arr2 arr3 TArrayType Obyavlenie tryoh peremennyh massivov odnogo tipa vysheukazannogo TArrayType V yazyke programmirovaniya APL massiv yavlyaetsya osnovnym tipom dannyh pri etom nul mernyj massiv nazyvaetsya skalyarom odnomernyj vektorom dvumernyj matricej Pomimo prisvaivaniya massivov v etom yazyke podderzhivayutsya operacii vektornoj i matrichnoj arifmetiki kazhdaya iz kotoryh vypolnyaetsya odnoj komandoj operacii sdviga dannyh v massivah sortirovka strok matricy Dinamicheskie massivyOsnovnaya statya Dinamicheskij massiv Dinamicheskimi nazyvayutsya massivy razmer kotoryh mozhet izmenyatsya vo vremya vypolneniya programmy Obychnye ne dinamicheskie massivy nazyvayut eshyo fiksirovannymi ili staticheskimi Dinamicheskie massivy mogut realizovyvatsya kak na urovne yazyka programmirovaniya tak i na urovne sistemnyh bibliotek Vo vtorom sluchae dinamicheskij massiv predstavlyaet soboj obekt standartnoj biblioteki i vse operacii s nim realizuyutsya v ramkah toj zhe biblioteki Tak ili inache podderzhka dinamicheskih massivov predpolagaet nalichie sleduyushih vozmozhnostej Opisanie dinamicheskogo massiva Na urovne yazyka eto mozhet byt specialnaya sintaksicheskaya konstrukciya na urovne biblioteki bibliotechnyj tip dannyh znachenie kotorogo obyavlyaetsya standartnym obrazom Kak pravilo pri opisanii sozdanii dinamicheskogo massiva ukazyvaetsya ego nachalnyj razmer hotya eto i ne obyazatelno Operaciya opredeleniya tekushego razmera dinamicheskogo massiva Operaciya izmeneniya razmera dinamicheskogo massiva Primer konstrukcij dlya raboty s dinamicheskimi massivami na Delphi var Opisaniya dinamicheskih massivov byteArray Array of Byte Odnomernyj massiv multiArray Array of Array of string Mnogomernyj massiv SetLength byteArray 1 Ustanovka razmera massiva v 1 element byteArray 0 16 Zapis elementa SetLength byteArray Length byteArray 1 Uvelichenie razmera massiva na edinicu byteArray Length byteArray 1 10 Zapis znacheniya v poslednij element WriteLn byteArray Length byteArray 1 Vyvod poslednego elementa massiva SetLength multiArray 20 30 Ustanovka razmera dvumernogo massiva multiArray 10 15 12 Zapis znacheniya SetLength multiArray 10 15 Umenshenie razmera WriteLn Length multiArray Length multiArray 0 Geterogennye massivyGeterogennym nazyvaetsya massiv v raznye elementy kotorogo mogut byt neposredstvenno zapisany znacheniya otnosyashiesya k razlichnym tipam dannyh Massiv hranyashij ukazateli na znacheniya razlichnyh tipov ne yavlyaetsya geterogennym tak kak sobstvenno hranyashiesya v massive dannye otnosyatsya k edinstvennomu tipu tipu ukazatel Geterogennye massivy udobny kak universalnaya struktura dlya hraneniya naborov dannyh proizvolnyh tipov Realizaciya geterogennosti trebuet uslozhneniya mehanizma podderzhki massivov v translyatore yazyka Rabota s pamyatyuTipovym sposobom realizacii staticheskogo gomogennogo hranyashego dannye odnogo tipa massiva yavlyaetsya vydelenie nepreryvnogo bloka pamyati obyomom S m1 m2 mn displaystyle S cdot m 1 cdot m 2 cdot dots m n gde S displaystyle S razmer odnogo elementa a m1 mn displaystyle m 1 dots m n razmery diapazonov indeksov to est kolichestvo znachenij kotorye mozhet prinimat sootvetstvuyushij indeks Pri obrashenii k elementu massiva s indeksom i1 i2 in displaystyle i 1 i 2 dots i n adres sootvetstvuyushego elementa vychislyaetsya kak B S i1pm1 i2p m2 i n 1 p mn 1 inp displaystyle B S cdot left left dots left i text 1p m 1 i text 2p right cdot m 2 dots i n 1 text p right cdot m n 1 i n text p right gde B displaystyle B baza adres nachala bloka pamyati massiva ikp displaystyle i k mathrm p znachenie k displaystyle k go indeksa privedyonnoe k celomu s nulevym nachalnym smesheniem Poryadok sledovaniya indeksov v formule vychisleniya adresa mozhet byt razlichnym Etot sposob sootvetstvuet realizacii v bolshinstve kompilyatorov yazyka Si v Fortrane poryadok indeksov protivopolozhen Takim obrazom adres elementa s zadannym naborom indeksov vychislyaetsya tak chto vremya dostupa ko vsem elementam massiva s teoreticheskoj tochki zreniya odinakovo odnako mogut skazyvatsya razlichnye znacheniya zaderzhek otklika ot operativnoj pamyati k yachejkam raspolozhennym na raznyh elementah pamyati no v praktike vysokourovnevogo programmirovaniya takimi tonkostyami za redkimi isklyucheniyami prenebregayut Obychnym sposobom realizacii geterogennyh massivov yavlyaetsya otdelnoe hranenie samih znachenij elementov i razmeshenie v bloke pamyati massiva organizovannogo kak obychnyj gomogennyj massiv opisannyj vyshe ukazatelej na eti elementy Poskolku ukazateli na znacheniya lyubyh tipov kak pravilo imeyut odin i tot zhe razmer udayotsya sohranit prostotu vychisleniya adresa hotya voznikayut dopolnitelnye nakladnye rashody na razmeshenie znachenij elementov i obrashenie k nim Dlya dinamicheskih massivov mozhet ispolzovatsya tot zhe mehanizm razmesheniya chto i dlya staticheskih no s vydeleniem nekotorogo obyoma dopolnitelnoj pamyati dlya rasshireniya i dobavlenii mehanizmov izmeneniya razmera i peremesheniya soderzhimogo massiva v pamyati Takzhe dinamicheskie i geterogennye massivy mogut realizovyvatsya putyom ispolzovaniya principialno inyh metodov hraneniya znachenij v pamyati naprimer odno ili dvuhsvyaznyh spiskov Takie realizacii mogut byt bolee gibkimi no trebuyut kak pravilo dopolnitelnyh nakladnyh rashodov Krome togo v nih obychno ne udayotsya vyderzhat trebovanie konstantnogo vremeni dostupa k elementu PrimechaniyaDrot V L Novikov F A Tolkovyj slovar sovremennoj kompyuternoj leksiki Razmernost massiva neopr Data obrasheniya 18 oktyabrya 2012 3 iyulya 2013 goda Bartenev 2000 Magariu 1983 Virt 1989 1 6 Massiv Michael McMillan Data Structures and Algorithms with JavaScript angl O Reilly Media 2014 P 30 32 ISBN 978 1 4493 7396 2 LiteraturaVirt N Algoritmy i struktury dannyh Algoritms and data structure M Mir 1989 360 s ISBN 5 03 001045 9 Magariu N A Yazyk programmirovaniya APL M Radio i svyaz 1983 96 s Bartenev O V Sovremennyj Fortran 3 e izd dop i pererab M Dialog MIFI 2000 449 s
Вершина