Асоцијативни низ — разлика између измена

нема резимеа измене
Нема описа измене
Нема описа измене
Асоцијативни низови имају широку примену укључујући и основне шаблоне попут [[мемоизације]] и [[декораторa шаблона]].
 
==Операције==
У асоцијативном низу, веза између кључа и вредности је позната као везивање, а исти термин се може односити и на процес креирања нове везе.
Операције које су обично дефинисане су:
*'''Додавање''' или '''уметање''': додаје нови кључ:вредност пар у колекцију, везујући нови кључ и додељену вредност. Аргументи ове операције су кључ и вредност.
*'''Замена''': мења вредност једног кључ:вредност пара који се већ налази у колекцији, везујући стари кључ и нову вредност. Као и код уметања, аргументи ове операције су кључ и вредност.
*'''Уклањање''' или '''брисање''': уклања кључ:вредност пар из колекције, бришући везу између датог кључа и његове вредности. Аргумент ове операције је кључ.
*'''Претрага''': проналази вредност (уколико постоји) која је везана за дати кључ. Аргумент ове операције је кључ, а враћа се вредност. Уколико вредност није пронађена, неке имплементације асоцијативних низова креирају [[Изузетак_(програмирање)|изузетак]].
Додатно, асоцијативни низови могу укључити друге операције попут одређивање броја везивања или конструисање [[итератора]] којим би се, кроз петљу, прошло кроз сва везивања. Обично се за такву операцију ред у коме се враћају везивања бира случајно.
[[Мултимапе|Мултимапа]] генерализује асоцијативни низ омогућујући да више вредности буду везане за један кључ. [[Двосмерна мапа]] је повезани апстрактни тип података, у којој везивања раде у оба смера: свака вредност мора бити везана јединственим кључем, а друга операција претраге узима вредност као аргумент и проналази кључ везан за ту вредност.
==Примери==
Претпоставимо да је скуп изнајмљивања књига у библиотеци представљен у облику структуре података. Свака књига у библиотеци, у одређеном тренутку, може бити изнајмљена од стране само једног члана. Такође, један члан може изнајмити више књига. Стога, информације о томе која књига је издата ком члану, може бити представљена асоцијативним низом, где су књиге кључеви, а чланови су вредности. На пример (користећи [[Пајтон_(програмски_језик)|Пајтон]] нотацију, где су везе представљене постављањем колоне између кључа и вредности), текућа изнајмљивања могу бити приказана асоцијативним низом.
<pre>{
"Great Expectations": "John",
"Pride and Prejudice": "Alice",
"Wuthering Heights": "Alice"
}</pre>
Операција претраге са кључем "Great Expectations", у овом низу би вратила име особе која је изнајмила ту књигу, Џона. Уколико би Џон вратио књигу, то би проузроковало операцију брисања у низу, а ако би Пет изнајмио нову књигу, то би довело до операције додавања, а што би довело до новог стања.
<pre>{
"Pride and Prejudice": "Alice",
"The Brothers Karamazov": "Pat",
"Wuthering Heights": "Alice"
}</pre>
У новом стању, иста претрага са кључем "Great Expectations" би створила изузетак, пошто овај кључ више не постоји у низу.
==Имплементација==
 
 
28

измена