რა არის მასივი

რა არის მასივი
რა არის მასივი

ვიდეო: რა არის მასივი

ვიდეო: რა არის მასივი
ვიდეო: რა არის მასივები 2024, მაისი
Anonim

ასი პროცენტით დარწმუნებით შეგვიძლია ვთქვათ, რომ არ არსებობს პროგრამისტი, რომელიც არ გამოიყენებს მასივს თავის პროგრამებში. ისინი არა მხოლოდ ამარტივებენ დეველოპერის ცხოვრებას, არამედ შესაძლებლობას აძლევენ შეასრულონ ისეთი ამოცანები, რომელთა შესრულებაც მის გარეშე უბრალოდ შეუძლებელია.

რა არის მასივი
რა არის მასივი

მასივი არის მონაცემების შეკვეთილი კოლექცია, სურვილისამებრ იმავე ტიპის, რომელიც იდენტიფიცირებულია ერთი ან მეტი ინდექსებით. მასივის პირველი ტიპი სტატიკურია. ის ყველა მაღალი დონის ენაზეა. ასეთი მასივები შეიძლება იყოს ერთგანზომილებიანი და მრავალგანზომილებიანი (ჩვეულებრივ მათ არაუმეტეს 2 ან 3 განზომილების აქვთ). ზოგიერთ ენას ეს უკანასკნელი არ აქვს, მაგალითად ActionScript. მასში ისინი ორგანიზებულია ეგრეთ წოდებული "მასივების მასივის" შექმნით, ე.ი. მასივის უჯრედებში განთავსება არა უბრალო მონაცემებით (int, Boolean, byte და ა.შ.), არამედ სხვა მასივების. სხვადასხვა ენებზე სტატიკური მასივის გამოცხადების მაგალითები: პასკალში: x: array [1..15] Integer; {მთლიანი ტიპის 15 ელემენტის ერთგანზომილებიანი მასივი} x1: მასივი [1..5, 1..5] Char; {ორგანზომილებიანი მასივი (ცხრილი) 5 მწკრივით და 5 სვეტით} C / C ++: int a [10]; // ერთგანზომილებიანი მასივი ტიპის მთელი ელემენტის (int) ორმაგი b [12] [15] ელემენტისთვის; // ორგანზომილებიანი მასივი 12 მწკრივით და ორმაგი ტიპის 15 სვეტით მეორე ტიპის მასივი დინამიურია. ამ ტიპს შეუძლია შეცვალოს მისი ზომა პროგრამის შესრულების დროს. ეს თვისება შეიძლება საკმაოდ სასარგებლო იყოს. იგი გამოიყენება მაშინ, როდესაც ძნელია დაუყოვნებლივ გადაწყვიტოს რა განზომილების შექმნა მასივი. მაგალითები: დელფში: a1: ბაიტის მასივი; // ბაიტის ტიპის ერთგანზომილებიანი მასივი a2: ნახშირის მასივის მასივი; // ნახაზის ტიპის მრავალგანზომილებიანი მასივი C ++ - ში: float * arr1; // ერთგანზომილებიანი მასივი int ** arr2; // მრავალგანზომილებიანი მასივი arr1 = ახალი ათწილადი [70]; // 70 float ბლოკის გამოყოფა arr2 = new int * [99]; // მაჩვენებლის ზომის 99 ბლოკის გამოყოფა int- ისთვის (int k = 0; k <99; k ++) arr2 [k] = new int [17]; მასივების უპირატესობები - მისამართის განსაზღვრის მარტივია ელემენტი ინდექსის მიხედვით, იგივე ელემენტის წვდომის იგივე დრო და მცირე ზომის ელემენტები. ამასთან, არსებობს გარკვეული უარყოფითი მხარეები, რომლებიც განსხვავდება მათი სხვადასხვა ტიპებისთვის. მაგალითად, სტატიკური მასივის მინუსი არის დინამიკის ნაკლებობა, ხოლო დინამიური მასივი უფრო ნელია. ამიტომ, ზუსტად უნდა აირჩიოთ ის ტიპი, რომელიც ოპტიმალურია დასახული ამოცანის გადასაჭრელად.

გირჩევთ: