1.572.075
измена
м (Понови оно што си хтео, али правилно. Оно што си унео нису референце, јер нема веб локација. А можеш евентуално да се позовеш на неку литерату) |
м (Разне исправке; козметичке измене) |
||
'''Gap bafer''' (ili bafer sa razmacima) u [[Информатика|informatici]] je dinamički niz koji dozvoljava umetanje i brisanje operacija koje se nalaze blizu određene lokacije. Gap baferi su naročito česti u [[Tekst editor|tekst editorima]], gde se veċina promena nad tekstom vrši na mestu gde se trenutno nalazi [[Курсор|kursor]] ili u njegovoj relativnoj blizini. Tekst se smešta u veliki bafer u dva susedna segmenta, sa razmakom između njih za upisivanje novog teksta. Pomeranjem kursora se kopira tekst sa jedne strane razmaka u drugu (nekada je kopiranje odloženo dok sledeċa operacija ne promeni tekst). Umetanje dodaje novi tekst na kraj prvog segmenta. Brisanje poveċava veličinu razmaka.
Tekst u gap buferu je predstavljen kao dve niske, koje zauzimaju vrlo malo dodatnog prostora i koje mogu biti pretraživane i ispisivane vrlo brzo, u poređenju sa više sofisticiranijim [[Структура података|strukturama podataka]] kao što su povezane liste. Međutim, operacije na različitim lokacijama u tekstu i one koje popunjavaju razmak mogu zahtevati da se kopira veċina teksta, što je ne naročito neefikasno za velike datoteke. Upotreba gap bufera je zasnovana na pretpostavci da se takvo kopiranje retko dešava, bar toliko da se njegova cena može nadoknaditi preko jeftinijih, češċih operacija. Zbog toga je gap bafer jednostavnija alternativa [[Граф|grafu]] za upotrebu u tekst editorima kao što je Emacs.
== Primer ==
Ispod su neki primeri operacija sa gap baferom. Razmak je predstavljen kao tačke izmedju uglastih zagrada. Ovakvo predstavljanje je pomalo varljivo: u običnoj implementaciji, krajevi razmaka se mogu naċi pomoċu [[Показивач (програмирање)|pokazivača]] ili indeksa, i sadržaj razmaka se zanemaruje; ovo dozvoljava, na primer, da se izvrši brisanje samo menjanjem pokazivača bez menjanja teksta u baferu. Česta je programerska praksa da se koristi poluotvoreni interval za pokazivače na razmake, drugim rečima, pokazivač na početak razmaka do pogrešnog karaktera do poslednjeg karaktera u prvom baferu, i pokazivač na kraj razmaka do prvog tačnog karaktera u drugom baferu (ili su jednostavno pokazivači podrazumevani kao pokazivači "između karaktera).
|
измена