Масив (структура от данни)

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

В областта на компютърните науки масивът е една от най-простите структури от данни: масивът е колекция от елементи (стойности или променливи), които могат да бъдат достъпвани директно чрез индекс. В различните езици за програмиране масивите са реализирани по различни начини.

моля, въведете индекс

Съдържание

Масиви в C/C++ [редактиране]

В езиците за програмиране C и C++, масивът е група от променливи които са от един и същи тип данни, имат един и същи размер, разположени са последователно в паметта и съществува указател, който сочи към първия елемент от масива.

/* Създаване на масиви: */
 
/* Вариант 1: създаване на незадължително инициализиран масив. */
int arr[6]; // Създава масив от 6 елемента, всеки от които е цяло число.
 
/* Вариант 2: създаване на инициализиран масив. */
int arr[] = {0, 1, 2, 3, 4, 5}; // Създава масив от 6 елемента.
 
/* Задаване на стойности на елементи на масива: */
arr[0] = 5; // Присвоява на нулевия елемент от масива числото 5.
 
/* Следните два реда са еквивалентни. */
arr[2] = 100; // Присвоява на втория елемент числото 100.
*(arr + 2) = 100; // Присвоява на втория елемент числото 100.
 
/* Прочитане на елемент от масива: */
int tmp; //  Създава променливата tmp от тип int (цяло число).
tmp = arr[0]; // Задава на променливата tmp стойността на нулевия елемент на масива arr.
tmp = arr[2]; // Задава на tmp стойността на втория елемент на масива arr.
 
/* Адресна аритметика: */
int *tmp; // Създава променливата tmp, чийто тип е int*, т.е. указател към цяло число.
tmp = arr; // Задава на променливата tmp адреса на нулевия елемент на масива arr.
tmp = &arr[0]; // Задава на променливата tmp адреса на нулевия елемент. (Няма разлика с горния ред.)
tmp = &arr[2]; // Задава на tmp адреса на втория елемент.
tmp = arr + 2; // Задава адреса на втория елемент. Еквивалент на горния ред, защото:
               // &(arr[2]) ---> &(*(arr + 2)) --> arr + 2;

Масиви в PHP [редактиране]

В езика за програмиране PHP, масивът е променлива, която съдържа множество от елементи. Масивите могат да бъдат 2 вида - обикновени и асоциативни. При обикновените масиви за обръщане към елемент се използва индекс (поредно число) на елемента. При асоциативните масиви за обръщане към елемент се използва текстов низ.

$arrr = array('c', 'php', 'javascript', 'python'); // Създава обикновен масив с 4 елемента
$arrr[0] = 2; // Присвоява на нулевия елемент от масива числото 2
$arra = array('c' => true, 'php' => 'yes', 'python' => 1); // Създава асоциативен масив с 3 елемента
$arra['python'] = 4; // Присвоява на елемента "python" стойност 4

Масиви в JavaScript [редактиране]

В езика за програмиране JavaScript, масивът е обект. Той има конструктор и методи. За обръщане към елементите от обекта могат да се използват индекси или текстови низове.

var arr = new Array(17, 3, 5, 2, 13, 11, 7); // Създава обект от тип Array (масив)
arr.sort(); // Подрежда (сортира) елементите в масива
var narr = new Array('yes' => 1, 'no' => 0); // Създава друг обект от тип Array (масив)
narr.length; // Взима дължината на новия масив (броя на елементите в него)

Масиви в Python [редактиране]

В езика за програмиране Python, масивите са 2 вида - tuple и list. Разликата между тях е, че един tuple не може да бъде променен - докато съществува, неговите елементи остават такива, каквито са били при създаването му. При list елементите могат да бъдат променяни.

mytuple = ("hello", "world", 1) # Създава tuple
mylist = [3+2j, "wikipedia", "is", "cool"] # Създава list
mylist = mylist[:3] + ["very"] + mylist[3:] # Добавя елемент към list

Масиви в Perl [редактиране]

В езика за програмиране Perl, масивът е променлива, която съдържа множество от елементи. Масивите могат да бъдат 2 вида - обикновени и асоциативни. При обикновените масиви за обръщане към елемент се използва индекс (поредно число) на елемента. При асоциативните масиви за обръщане към елемент се използва текстов низ. При обръщане към елемент от масив, пред името на масива се поставя знакът $ (долар). При обръщане към обикновен масив пред името на масива се поставя знакът @ (маймунско А). При обръщане към асоциативен масив пред името на масива се поставя знакът % (процент).

@natural = (1, 2, 3, 4, 5, 6, 7, 8, 9); // Създава обикновен масив
@natural; // Обръща се към масива
$natural[0]; // Връща 1
%browsers = ("konqueror", "khtml", "opera", "Presto", "firefox", "Gecko", "safari", "WebKit");
$browsers{"opera"}; // Връща "Presto"