Stack (abstract data type) (original) (raw)
La memòria en pila en informàtica és una estructura de dades seqüencial (que conté elements ordenats) amb aquestes restriccions d'accés: * només es pot afegir elements al cim de la pila * només es pot treure elements del cim de la pila Per analogia amb objectes quotidians, una operació apilar equivaldria a posar un plat sobre una pila de plats, i una operació desempilar a retirar-lo.
Property | Value |
---|---|
dbo:abstract | Zásobník je v informatice obecná datová struktura (tzv. abstraktní datový typ) používaná pro dočasné ukládání dat. Také se používá anglický výraz stack. Pro zásobník je charakteristický způsob manipulace s daty - data uložena jako poslední budou čtena jako první. Proto se používá také výraz LIFO z anglického „Last In – First Out“. (Srovnej s FIFO). Pro manipulaci s uloženými datovými položkami se udržuje tzv. ukazatel zásobníku, který udává relativní adresu poslední přidané položky, tzv. vrchol zásobníku. Obsahem zásobníku mohou být jakékoli datové struktury. Může být realizován jak programovými prostředky, tak i elektronickými obvody. Nejznámější aplikací zásobníku je vnitřní zásobník realizovaný procesorem, do něhož jsou ukládány návratové adresy a příznaky stavu procesoru při přerušeních a skocích do podprogramů. Při návratu z podprogramu je z vrcholu zásobníku vyjmuta návratová adresa a zpracování pokračuje od přerušeného místa. Tento zásobník může být čistě v procesoru, nebo se fyzicky nachází v paměti a procesor obsahuje pouze podporu jeho používání. Ve většině případů (včetně procesorů architektury i386) je možné na zásobník v paměti s podporou procesoru ukládat libovolné informace, což se využívá především k ukládání parametrů funkcí a jejich lokálních proměnných. Zásobník, ať už hardwarový nebo softwarový (emulovaný), je klíčovou datovou strukturou používanou v programování při realizaci rekurzivních algoritmů. (cs) La memòria en pila en informàtica és una estructura de dades seqüencial (que conté elements ordenats) amb aquestes restriccions d'accés: * només es pot afegir elements al cim de la pila * només es pot treure elements del cim de la pila Per analogia amb objectes quotidians, una operació apilar equivaldria a posar un plat sobre una pila de plats, i una operació desempilar a retirar-lo. (ca) Στην πληροφορική, μια Στοίβα (Αγγλικά: Stack) ή δομή LIFO (το LIFO είναι τα αρχικά του last in, first out που μεταφράζεται "Τελευταίο μέσα --> πρώτο έξω") είναι μια αφηρημένη δομή δεδομένων που χρησιμοποιείται ως μια συλλογή στοιχείων (Αγγλικά: collection of elements) με δύο βασικές λειτουργίες: * 'push' = ωθώ προσθέτει ένα νέο στοιχείο στην συλλογή * 'pop' = αποσπώ αφαιρεί το τελευταίο στοιχείο που προστέθηκε. Η υλοποίηση μιας στοίβας μπορεί να γίνει χρησιμοποιώντας για παράδειγμα ένα πίνακα με σταθερό μήκος. Όταν η στοίβα γεμίζει τότε δεν μπορεί να δεχτεί περισσότερα στοιχεία και αυτό στην πληροφορική ονομάζεται υπερχείλιση στοίβας (Αγγλικά: stack overflow). Η λειτουργία pop αφαιρεί ένα στοιχείο που βρίσκεται στην κορυφή της λίστας. Αν δοκιμάσουμε να αφαιρέσουμε στοιχείο από μια λίστα η οποία είναι άδεια έχουμε υποχείλιση στοίβας (Αγγλικά: stack underflow). Μια δομή στοίβας θεωρείται μια δομή με περιορισμένη λειτουργία. Η φύση των λειτουργιών pop και push σημαίνει ότι τα στοιχεία της στοίβας βρίσκονται στην σειρά με την οποία αυτά εισήχθησαν. Τα στοιχεία αφαιρούνται από την στοίβα σε αντίστροφη σειρά (με την σειρά που εισήχθησαν). Έτσι τα στοιχεία που βρίσκονται χαμηλά μέσα στην στοίβα παραμένουν στην στοίβα το περισσότερο χρόνο. (el) يعرف المكدس (بالإنجليزية: Stack) بأنه بنية معطيات مجردة أو مجموعة يمكن فيها القيام بعمليات محددة على العناصر وهي إضافة عنصر جديد إلى المجموعة (تعرف هذه العملية بالدفع (بالإنجليزية: Push) وإزالة عنصر من المجموعة (تعرف هذه العملية بالطرح (بالإنجليزية: Pop)). تجعل عمليتا الدفع والطرح المكدس بنية معطيات تتمتع بخاصية من يدخل أخيراً يخرج أولاً (بالإنجليزية: Last-In-First-Out) أو اختصاراً LIFO. في بنية المعطيات ذات الخاصية LIFO يكون آخر عنصر تم إضافته للمجموعة هو أول عنصر تتم إزالته منها. يعرف المكدس بأنه بنية معطيات متسلسلة تتم فيها عمليات الإضافة والحذف عند نهاية واحدة فقط من السلسلة. عادةً ما يشار إلى آخر عنصر تمت إضافته إلى المكدس باسم قمة (بالإنجليزية: Top) المكدس كما يزود المكدس بعملية استراق (بالإنجليزية: Peek) تمكن من معرفة قيمة قمة المكدس دون القيام بإزالته منه. للمكدس سعة محدودة. فإذا كان المكدس ممتلئاً لا يمكن عندئذ القيام بعملية دفع عنصر إليه، وتسبب محاولة القيام بهذه العملية حصول طفحان (أو ما يعرف بتجاوز الحد الأعلى للسعة (بالإنجليزية: Overflow)). تقوم عملية الطرح بإزالة قمة المكدس وتسبب إما الكشف عن العناصر الموجودة داخل المكدس بالتتابع أو الحصول على مكدس فارغ، إذا كان المكدس فارغاً فإن محاولة القيام بالطرح يسبب حصول تجاوز الحد الأدنى للسعة (بالإنجليزية: Underflow). يعرف المكدس أيضاً بأنه بنية معطيات مقيدة، يعود السبب في ذلك إلى وجود عدد قليل نسبياً من العمليات التي يمكن إجراؤها عليه. كما أن طبيعة عمليات الدفع والطرح تفرض ترتيباً طبيعياً على العناصر. ذلك أن ترتيب حذف العناصر من المكدس يعاكس تماماً ترتيب إضافتها إليه. وبالتالي فإن العناصر الموجودة «أسفل» المكدس ستبقى فترةً أطول من نظيرتها الموجودة بالقرب من قمة المكدس. (ar) In der Informatik bezeichnet ein Stapelspeicher oder Kellerspeicher (kurz Stapel oder Keller, häufig auch mit dem englischen Wort Stack bezeichnet) eine häufig eingesetzte dynamische Datenstruktur. Sie wird von den meisten Mikroprozessoren direkt mithilfe von Maschinenbefehlen unterstützt. (de) Stako estas datumstrukturo tia, ke tiajn anojn oni atingas laŭvice, kaj legas ilin en la ordo inversa rilate al tiu, en kiu ili estis registritaj (tial oni ankaŭ nomas stakon inversvica memoro (angle LIFO, Last In — First Out t.e. «laste enirinta unue eliras»). Plej ofte oni komparas stakon kun stako da teleroj: oni povas preni nur la teleron, kiu estas sure, kaj nur suren ankaŭ meti teleron. Stako kutime disponigas jenajn funkciojn: surstakigu (aŭ metu), elstakigu (aŭ prenu), montru (sen forigi) kaj alto (kiom da eroj estas en la stako). Vd realigon de tiuj funkcioj en la artikolo «Malloka variablo». Oni ofte uzas stakojn en komputiloj. Ekzemple, en programo: kiam subprogramo estas vokota, la kuranta adreso metiĝas sur la vokstakon, kaj la subprogramo komenciĝas. Kaj kiam subprogramo finiĝas, necesas reveni tien, de kie la subprogramo estis vokita — por tio oni prenas la revenadreson de sur la vokstako kaj iras laŭ ĝi. La vokstako (ankaŭ nomata plenumstako) estas grava parto de plimulto da modernaj procesoroj. Altnivelaj programlingvoj uzas stakon ankaŭ por transdoni la parametrojn al la vokata subprogramo. (eo) Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, siendo el modo de acceso a sus elementos de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir»). Esta estructura se aplica en multitud de supuestos en el área de la informática debido a su simplicidad y capacidad de dar respuesta a numerosos procesos. Para el manejo de los datos cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. En cada momento solamente se tiene acceso a la parte superior de la pila, es decir, al último objeto apilado (denominado TOS, Top of Stack en inglés). La operación retirar permite la obtención de este elemento, que es retirado de la pila permitiendo el acceso al anterior (apilado con anterioridad), que pasa a ser el último, el nuevo TOS. Las pilas suelen emplearse en los siguientes contextos: * Evaluación de expresiones en notación postfija (notación polaca inversa). * Reconocedores sintácticos de . * Implementación de recursividad. En un sistema operativo cada proceso tiene un espacio de memoria (pila) para almacenar valores y llamadas a funciones. Una pila acotada es una pila limitada a un tamaño máximo impuesto en su especificación. Por analogía con objetos cotidianos, una operación apilar equivaldría a colocar un plato sobre una pila de platos, y una operación retirar equivaldría a retirarlo. (es) Pila bat (ingelesez stack) ordenatutako zerrenda bat edo datu-egitura bat da non haren elementuak atzitzeko moduari LIFO (ingelesez Last In First Out, "azkena sartzen lehenengoa irtetzen") deritzo eta datuak gordetzeko zein berreskuratzeko balio du. Egitura hori maiz erabiltzen da informatikaren arloan sinplea delako eta egituraren ordena inplizitua delako. Datuak maneiatzeko oinarrizko bi eragiketa erabiltzen dira: metatzea (push), pilan objektu bat sartzeko, eta haren alderantzizko eragiketa, ateratzea (edo erretiratzea, pop), metatutako azken elementua ateratzeko. Une oro, pilaren goiko aldea bakarrik atzitu ahal da, hots, metatutako azken objektua (TOS deritzo, Top of Stack ingelesez). Ateratze eragiketak elementu hori eskuratzea ahalbidetzen du pilatik ateraz, eta horrela hurrengoaren atzipena ahalbidetzen da (lehenago metatua), TOS berria izatera pasatzen dena. Eguneroko objektuekin analogia eginez, metatze eragiketa plater bat plater-pila baten gainean jartzearen baliokidea izango litzateke, eta ateratze eragiketa plater hori erretiratzearen baliokidea. Pilak hurrengo testuinguruetan erabili ohi dira: * adierazpenak ebaluatzeko. * egiaztatzaile sintaktikoetan. * inplementazioan. (eu) Dalam ilmu komputer, tumpukan (bahasa Inggris: stack) merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Operasi untuk memasukkan data biasa disebut push dan operasi untuk mengeluarkan biasanya disebut pop. Tumpukan dapat diimplementasikan sebagai senarai berantai atau larik.Tumpukan tergolong dan operasi push dan pop hanya bisa dilakukan di satu ujung struktur yang biasa disebut top dari tumpukan. Untuk melihat data yang ada di top tanpa mengeluarkannya, biasanya dilakukan menggunakan operasi peek. (in) En informatique, une pile (en anglais stack) est une structure de données fondée sur le principe « dernier arrivé, premier sorti » (en anglais LIFO pour last in, first out), ce qui veut dire qu'en général, le dernier élément ajouté à la pile est le premier à en sortir. (fr) In computer science, a stack is an abstract data type that serves as a collection of elements, with two main operations: * Push, which adds an element to the collection, and * Pop, which removes the most recently added element that was not yet removed. Additionally, a peek operation can, without modifying the stack, return the value of the last element added. Calling this structure a stack is by analogy to a set of physical items stacked one atop another, such as a stack of plates. The order in which an element added to or removed from a stack is described as last in, first out, referred to by the acronym LIFO. As with a stack of physical objects, this structure makes it easy to take an item off the top of the stack, but accessing a datum deeper in the stack may require taking off multiple other items first. Considered as a linear data structure, or more abstractly a sequential collection, the push and pop operations occur only at one end of the structure, referred to as the top of the stack. This data structure makes it possible to implement a stack as a singly linked list and as a pointer to the top element. A stack may be implemented to have a bounded capacity. If the stack is full and does not contain enough space to accept another element, the stack is in a state of stack overflow. A stack is needed to implement depth-first search. (en) ( 다른 뜻에 대해서는 스택 (동음이의) 문서를 참고하십시오.) 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. 이를테면, a부터 b와 c를 순서대로 넣은 다음 자료를 하나씩 꺼내면 c부터 b와 a의 순서로 나오게 된다. S를 스택, x를 데이터 요소(element)라고 하자. 그러면 스택에서는 아래와 같은 중요한 연산이 존재하는 것을 알 수 있다. * S.top: 스택의 가장 윗 데이터를 반환한다. 만약 스택이 비었다면 이 연산은 정의불가 상태이다. * S.pop: 스택의 가장 윗 데이터를 삭제한다. 스택이 비었다면 연산 정의불가 상태. * S.push: 스택의 가장 윗 데이터로 top이 가리키는 자리 위에(top = top + 1) 메모리를 생성, 데이터 x를 넣는다. * S.empty: 스택이 비었다면 1을 반환하고,그렇지 않다면 0을 반환한다. 또한, 스택연산을 목록(list) 연산으로 표현할 수도 있다. * S.top: S.retrieve(S.first) * S.pop: S.top,S.delete(S.first) * S.push:S.insert(x,pNull) * S.empty:S.first==pNull 컴퓨터에서 포인터라고 하는 자료의 위치 표시자와 넣고 빼는 명령어를 사용해서 스택을 이용한다. 주로 함수를 호출할 때 인수의 전달 등에 이용된다. LIFO의 특징을 이용하여 역폴란드 표기법을 이용한 프로그래밍 언어인 포스(Forth) 등에서도 이용된다. (ko) La pila (dall'inglese stack), in informatica, è un tipo di dato astratto che viene usato in diversi contesti per riferirsi a strutture dati, le cui modalità d'accesso ai dati in essa contenuti seguono una modalità LIFO, ovvero tale per cui i dati vengono letti in ordine inverso rispetto a quello in cui sono stati inseriti scritti. (it) スタックは、コンピュータで用いられる基本的なデータ構造の1つで、データを後入れ先出し(LIFO: Last In First Out; FILO: First In Last Out)の構造で保持するものである。抽象データ型としてのそれを指すこともあれば、その具象を指すこともある。 特にその具象としては、割込みやサブルーチンを支援するために極めて有用であることから、1970年代以降に新しく設計された、ある規模以上のコンピュータは、スタックポインタによるコールスタックをメモリ上に持っていることが多い。 (ja) Een stack of stapel is in de informatica een datastructuur voor de opslag van een wisselend aantal elementen, waarvoor geldt dat, net als bij een gewone stapel, het element dat het laatst werd toegevoegd, het eerst weer wordt opgehaald. Dit principe wordt ook wel LIFO (Last In First Out) genoemd. De tegenhanger van de stack is de queue, die volgens het FIFO (First In First Out) principe werkt. (nl) Stos (ang. Stack) – liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi. Stos jest używany w systemach komputerowych na wszystkich poziomach funkcjonowania systemów informatycznych. Stosowany jest przez procesory do chwilowego zapamiętywania rejestrów procesora, do przechowywania zmiennych lokalnych, a także w programowaniu wysokopoziomowym. Przeciwieństwem stosu jest kolejka, bufor typu FIFO (ang. First In, First Out; pierwszy na wejściu, pierwszy na wyjściu), w którym dane obsługiwane są w takiej kolejności, w jakiej zostały dostarczone (jak w kolejce do kasy). (pl) Stack är en linjär ordnad följd av element, som följer "sist in, först ut"-principen. Precis som en papperstrave finns det två operationer man kan utföra: lyfta av (en: pop) och lägga på (en: push). Stacken är en mycket vanlig datastruktur och används implicit i i stort sett i alla datorprogram. Vid funktionsanrop i imperativa programspråk lagras anropsparametrarna och lokala variabler i en stack-struktur, så att de sedan kan hämtas tillbaka i rätt ordning när funktionen återvänder. Många processorer har en inbyggd stack för att hantera funktionsanrop och returadresser. För att hålla reda på var i minnet det översta elementet i stacken finns används en stackpekare. (sv) Стек (англ. stack — стопка; читается стэк) — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю. В цифровом вычислительном комплексе стек называется магазином — по аналогии с магазином в огнестрельном оружии (стрельба начнётся с патрона, заряженного последним). В 1946 Алан Тьюринг ввёл понятие стека. А в 1957 году немцы Клаус Самельсон и Фридрих Л. Бауэр запатентовали идею Тьюринга. В некоторых языках (например, Lisp, Python) стеком можно назвать любой список, так как для них доступны операции pop и push. В языке C++ стандартная библиотека имеет класс с реализованной структурой и методами. И т. д. (ru) Em ciência da computação, uma pilha (stack em inglês) é um tipo abstrato de dado e estrutura de dados baseado no princípio de Last In First Out (LIFO), ou seja "o último que entra é o primeiro que sai" caracterizando um empilhamento de dados. Pilhas são fundamentalmente compostas por duas operações: push (empilhar) que adiciona um elemento no topo da pilha e pop (desempilhar) que remove o último elemento adicionado. Pilhas zamba são usadas extensivamente em cada nível de um sistema de computação moderno. Por exemplo, um PC moderno usa pilhas ao nível de arquitetura, as quais são usadas no design básico de um sistema operacional para manipular interrupções e chamadas de função do sistema operacional. Entre outros usos, pilhas são usadas para executar uma Máquina virtual java e a própria linguagem Java possui uma classe denominada "Stack", as quais podem ser usadas pelos programadores. A pilha é onipresente. Um sistema informático baseado em pilha é aquele que armazena a informação temporária basicamente em pilhas, em vez de registradores de hardware da UCP (um sistema baseado em registradores). (pt) Стек (англ. stack — «стос, стіс») в інформатиці та програмуванні — різновид , структура даних, яка працює за принципом (дисципліною) «останнім прийшов — першим пішов» (LIFO, англ. last in, first out). Всі операції (наприклад, видалення елемента) в стеку можна проводити тільки з одним елементом, який міститься на верхівці стека та був уведений в стек останнім. Стек можна уявити як стопку тарілок, з якої можна взяти верхню, і на яку можна покласти верхню тарілку. Інша назва стека — «магазин», за аналогією з принципом роботи магазина в автоматичній зброї. (uk) 堆疊(stack)又稱為棧或堆叠,是计算机科學中的一種抽象資料型別,只允許在有序的線性資料集合的一端(稱為堆疊頂端,top)進行加入数据(push)和移除数据(pop)的運算。因而按照後進先出(LIFO, Last In First Out)的原理運作,堆疊常用一維数组或連結串列來實現。常與另一種有序的線性資料集合佇列相提並論。 (zh) |
dbo:thumbnail | wiki-commons:Special:FilePath/Tallrik_-_Ystad-2018.jpg?width=300 |
dbo:wikiPageExternalLink | http://www.ece.cmu.edu/~koopman/stack_computers/index.html http://www.cs.utah.edu/~regehr/stacktool http://www.cs.ucla.edu/~palsberg/paper/sas03.pdf http://www.php.net/manual/en/class.splstack.php http://www.kps2017.uni-jena.de/proceedings/kps2017_submission_1.pdf https://dl.gi.de/bitstream/handle/20.500.12116/4381/lni-t-7.pdf%3Fsequence=1&isAllowed=y https://dl.gi.de/bitstream/handle/20.500.12116/33413/19.pdf%3Fsequence=1&isAllowed=y https://web.archive.org/web/20200412122706/https:/dl.gi.de/bitstream/handle/20.500.12116/4381/lni-t-7.pdf%3Fsequence=1&isAllowed=y https://web.archive.org/web/20220519131116/http:/www.kps2017.uni-jena.de/proceedings/kps2017_submission_1.pdf https://web.archive.org/web/20221114205159/https:/dl.gi.de/bitstream/handle/20.500.12116/33413/19.pdf%3Fsequence=1&isAllowed=y |
dbo:wikiPageID | 273993 (xsd:integer) |
dbo:wikiPageLength | 39108 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1124214827 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Python_(programming_language) dbr:Queue_(abstract_data_type) dbr:List_of_data_structures dbr:Minicomputer dbr:X87 dbr:Branch_and_bound dbr:Algorithm dbr:All_nearest_smaller_values dbr:Perl dbr:Register_renaming dbr:Register_window dbr:C++_Standard_Library dbr:Depth-first_search dbr:Double-ended_queue dbr:Dynamic_array dbr:Intel_i960 dbr:Common_Lisp dbr:Context-free_grammar dbr:Analogy dbr:Friedrich_L._Bauer dbr:Gesellschaft_für_Informatik dbr:Convex_hull dbr:Lisp_(programming_language) dbr:Call_stack dbr:Calling_convention dbr:Stack-based_memory_allocation dbr:Stack_machine dbr:Subroutine dbr:Complex_instruction_set_computer dbr:Computer_Pioneer_Award dbr:Computer_science dbr:Z80 dbr:P-code_machine dbr:Peek_(data_type_operation) dbr:Stack_overflow dbr:Speculative_execution dbr:Microcode dbc:Articles_with_example_pseudocode dbr:Burroughs_large_systems dbr:C_(programming_language) dbr:Data dbr:Data_structure dbr:Linked_list dbr:Stack-oriented_programming_language dbr:68000 dbr:Abstract_data_type dbr:Alan_M._Turing dbr:Forth_(programming_language) dbr:Bandwidth_(computing) dbr:PDP-11 dbr:PIC_microcontroller dbr:Central_processing_unit dbr:Graham_scan dbr:Floating_point dbr:Machine_code dbr:Microcontroller dbr:Recursion dbr:Reverse_Polish_notation dbr:HP_3000 dbr:JavaScript dbr:Java_(programming_language) dbr:Backtracking dbr:Tandem_Computers dbr:Technical_University_Munich dbr:Array_data_structure dbr:AMD_Am29000 dbr:API dbc:Abstract_data_types dbr:Charles_Leonard_Hamblin dbr:Karlsruhe_Institute_of_Technology dbr:Collection_(abstract_data_type) dbr:Java_virtual_machine dbr:Zero_offset dbr:Donald_Knuth dbr:Buffer_overflow dbr:Bus_(computing) dbr:PostScript dbr:IEEE dbr:Instruction_set_architecture dbr:Klaus_Samelson dbr:Konrad_Zuse dbr:Reduced_instruction_set_computer dbr:Cache_memory dbr:X86 dbr:Virtual_machine dbr:Nearest-neighbor_chain_algorithm dbr:FIFO_(computing_and_electronics) dbr:Programming_language dbr:The_Art_of_Computer_Programming dbr:Linear_data_structure dbr:Pseudocode dbr:SMAWK_algorithm dbr:Random_access dbr:Register_file dbr:6502 dbr:Agglomerative_hierarchical_clustering dbr:Z4_(computer) dbr:Superscalar dbr:Singly_linked_list dbr:Harris_RTX dbr:Mainframe dbr:Sun_SPARC dbr:Security_breaches dbr:Special_addressing_modes_for_implementation_of_stacks dbr:Stack_smashing dbr:Computer_Cowboys dbr:File:Lifo_stack.svg dbr:File:ProgramCallStack2_en.svg dbr:File:Tallrik_-_Ystad-2018.jpg dbr:MuP21 dbr:NC4016 dbr:Novix |
dbp:cs1Dates | y (en) |
dbp:date | October 2022 (en) |
dbp:group | "nb" (en) |
dbp:wikiPageUsesTemplate | dbt:= dbt:About dbt:Authority_control dbt:Cite_book dbt:Commons_category dbt:DADS dbt:Div_col dbt:Div_col_end dbt:ISBN dbt:Ill dbt:Main dbt:Main_article dbt:Math dbt:Mono dbt:Mvar dbt:Other_uses dbt:Portal dbt:R dbt:Reflist dbt:See_also dbt:Short_description dbt:Use_dmy_dates dbt:Use_list-defined_references dbt:Wikibooks dbt:Mdashb dbt:Citeref dbt:Data_structures |
dcterms:subject | dbc:Articles_with_example_pseudocode dbc:Abstract_data_types |
gold:hypernym | dbr:Type |
rdf:type | owl:Thing yago:WikicatAssemblyLanguages yago:WikicatSchedulingAlgorithms yago:Abstraction100002137 yago:Act100030358 yago:Activity100407535 yago:Algorithm105847438 yago:Arrangement105726596 yago:ArtificialLanguage106894544 yago:AssemblyLanguage106899310 yago:Cognition100023271 yago:Communication100033020 yago:DataStructure105728493 yago:Event100029378 yago:GrammaticalRelation113796779 yago:Inflection113803782 yago:Language106282651 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:Procedure101023820 yago:ProgrammingLanguage106898352 yago:PsychologicalFeature100023100 yago:Relation100031921 yago:YagoPermanentlyLocatedEntity yago:Rule105846932 yago:Structure105726345 yago:WikicatDataStructures yago:WikicatProgrammingParadigms |
rdfs:comment | La memòria en pila en informàtica és una estructura de dades seqüencial (que conté elements ordenats) amb aquestes restriccions d'accés: * només es pot afegir elements al cim de la pila * només es pot treure elements del cim de la pila Per analogia amb objectes quotidians, una operació apilar equivaldria a posar un plat sobre una pila de plats, i una operació desempilar a retirar-lo. (ca) In der Informatik bezeichnet ein Stapelspeicher oder Kellerspeicher (kurz Stapel oder Keller, häufig auch mit dem englischen Wort Stack bezeichnet) eine häufig eingesetzte dynamische Datenstruktur. Sie wird von den meisten Mikroprozessoren direkt mithilfe von Maschinenbefehlen unterstützt. (de) Dalam ilmu komputer, tumpukan (bahasa Inggris: stack) merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Operasi untuk memasukkan data biasa disebut push dan operasi untuk mengeluarkan biasanya disebut pop. Tumpukan dapat diimplementasikan sebagai senarai berantai atau larik.Tumpukan tergolong dan operasi push dan pop hanya bisa dilakukan di satu ujung struktur yang biasa disebut top dari tumpukan. Untuk melihat data yang ada di top tanpa mengeluarkannya, biasanya dilakukan menggunakan operasi peek. (in) En informatique, une pile (en anglais stack) est une structure de données fondée sur le principe « dernier arrivé, premier sorti » (en anglais LIFO pour last in, first out), ce qui veut dire qu'en général, le dernier élément ajouté à la pile est le premier à en sortir. (fr) La pila (dall'inglese stack), in informatica, è un tipo di dato astratto che viene usato in diversi contesti per riferirsi a strutture dati, le cui modalità d'accesso ai dati in essa contenuti seguono una modalità LIFO, ovvero tale per cui i dati vengono letti in ordine inverso rispetto a quello in cui sono stati inseriti scritti. (it) スタックは、コンピュータで用いられる基本的なデータ構造の1つで、データを後入れ先出し(LIFO: Last In First Out; FILO: First In Last Out)の構造で保持するものである。抽象データ型としてのそれを指すこともあれば、その具象を指すこともある。 特にその具象としては、割込みやサブルーチンを支援するために極めて有用であることから、1970年代以降に新しく設計された、ある規模以上のコンピュータは、スタックポインタによるコールスタックをメモリ上に持っていることが多い。 (ja) Een stack of stapel is in de informatica een datastructuur voor de opslag van een wisselend aantal elementen, waarvoor geldt dat, net als bij een gewone stapel, het element dat het laatst werd toegevoegd, het eerst weer wordt opgehaald. Dit principe wordt ook wel LIFO (Last In First Out) genoemd. De tegenhanger van de stack is de queue, die volgens het FIFO (First In First Out) principe werkt. (nl) Стек (англ. stack — «стос, стіс») в інформатиці та програмуванні — різновид , структура даних, яка працює за принципом (дисципліною) «останнім прийшов — першим пішов» (LIFO, англ. last in, first out). Всі операції (наприклад, видалення елемента) в стеку можна проводити тільки з одним елементом, який міститься на верхівці стека та був уведений в стек останнім. Стек можна уявити як стопку тарілок, з якої можна взяти верхню, і на яку можна покласти верхню тарілку. Інша назва стека — «магазин», за аналогією з принципом роботи магазина в автоматичній зброї. (uk) 堆疊(stack)又稱為棧或堆叠,是计算机科學中的一種抽象資料型別,只允許在有序的線性資料集合的一端(稱為堆疊頂端,top)進行加入数据(push)和移除数据(pop)的運算。因而按照後進先出(LIFO, Last In First Out)的原理運作,堆疊常用一維数组或連結串列來實現。常與另一種有序的線性資料集合佇列相提並論。 (zh) يعرف المكدس (بالإنجليزية: Stack) بأنه بنية معطيات مجردة أو مجموعة يمكن فيها القيام بعمليات محددة على العناصر وهي إضافة عنصر جديد إلى المجموعة (تعرف هذه العملية بالدفع (بالإنجليزية: Push) وإزالة عنصر من المجموعة (تعرف هذه العملية بالطرح (بالإنجليزية: Pop)). تجعل عمليتا الدفع والطرح المكدس بنية معطيات تتمتع بخاصية من يدخل أخيراً يخرج أولاً (بالإنجليزية: Last-In-First-Out) أو اختصاراً LIFO. في بنية المعطيات ذات الخاصية LIFO يكون آخر عنصر تم إضافته للمجموعة هو أول عنصر تتم إزالته منها. يعرف المكدس بأنه بنية معطيات متسلسلة تتم فيها عمليات الإضافة والحذف عند نهاية واحدة فقط من السلسلة. عادةً ما يشار إلى آخر عنصر تمت إضافته إلى المكدس باسم قمة (بالإنجليزية: Top) المكدس كما يزود المكدس بعملية استراق (بالإنجليزية: Peek) تمكن من معرفة قيمة قمة المكدس دون القيام بإزالته منه. (ar) Zásobník je v informatice obecná datová struktura (tzv. abstraktní datový typ) používaná pro dočasné ukládání dat. Také se používá anglický výraz stack. Pro zásobník je charakteristický způsob manipulace s daty - data uložena jako poslední budou čtena jako první. Proto se používá také výraz LIFO z anglického „Last In – First Out“. (Srovnej s FIFO). Pro manipulaci s uloženými datovými položkami se udržuje tzv. ukazatel zásobníku, který udává relativní adresu poslední přidané položky, tzv. vrchol zásobníku. (cs) Στην πληροφορική, μια Στοίβα (Αγγλικά: Stack) ή δομή LIFO (το LIFO είναι τα αρχικά του last in, first out που μεταφράζεται "Τελευταίο μέσα --> πρώτο έξω") είναι μια αφηρημένη δομή δεδομένων που χρησιμοποιείται ως μια συλλογή στοιχείων (Αγγλικά: collection of elements) με δύο βασικές λειτουργίες: * 'push' = ωθώ προσθέτει ένα νέο στοιχείο στην συλλογή * 'pop' = αποσπώ αφαιρεί το τελευταίο στοιχείο που προστέθηκε. (el) Stako estas datumstrukturo tia, ke tiajn anojn oni atingas laŭvice, kaj legas ilin en la ordo inversa rilate al tiu, en kiu ili estis registritaj (tial oni ankaŭ nomas stakon inversvica memoro (angle LIFO, Last In — First Out t.e. «laste enirinta unue eliras»). Plej ofte oni komparas stakon kun stako da teleroj: oni povas preni nur la teleron, kiu estas sure, kaj nur suren ankaŭ meti teleron. (eo) Pila bat (ingelesez stack) ordenatutako zerrenda bat edo datu-egitura bat da non haren elementuak atzitzeko moduari LIFO (ingelesez Last In First Out, "azkena sartzen lehenengoa irtetzen") deritzo eta datuak gordetzeko zein berreskuratzeko balio du. Egitura hori maiz erabiltzen da informatikaren arloan sinplea delako eta egituraren ordena inplizitua delako. Datuak maneiatzeko oinarrizko bi eragiketa erabiltzen dira: metatzea (push), pilan objektu bat sartzeko, eta haren alderantzizko eragiketa, ateratzea (edo erretiratzea, pop), metatutako azken elementua ateratzeko. (eu) Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, siendo el modo de acceso a sus elementos de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir»). Esta estructura se aplica en multitud de supuestos en el área de la informática debido a su simplicidad y capacidad de dar respuesta a numerosos procesos. Para el manejo de los datos cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado. (es) In computer science, a stack is an abstract data type that serves as a collection of elements, with two main operations: * Push, which adds an element to the collection, and * Pop, which removes the most recently added element that was not yet removed. Additionally, a peek operation can, without modifying the stack, return the value of the last element added. Calling this structure a stack is by analogy to a set of physical items stacked one atop another, such as a stack of plates. A stack is needed to implement depth-first search. (en) ( 다른 뜻에 대해서는 스택 (동음이의) 문서를 참고하십시오.) 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. 이를테면, a부터 b와 c를 순서대로 넣은 다음 자료를 하나씩 꺼내면 c부터 b와 a의 순서로 나오게 된다. S를 스택, x를 데이터 요소(element)라고 하자. 그러면 스택에서는 아래와 같은 중요한 연산이 존재하는 것을 알 수 있다. 또한, 스택연산을 목록(list) 연산으로 표현할 수도 있다. (ko) Stos (ang. Stack) – liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi. (pl) Стек (англ. stack — стопка; читается стэк) — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю. В цифровом вычислительном комплексе стек называется магазином — по аналогии с магазином в огнестрельном оружии (стрельба начнётся с патрона, заряженного последним). (ru) Stack är en linjär ordnad följd av element, som följer "sist in, först ut"-principen. Precis som en papperstrave finns det två operationer man kan utföra: lyfta av (en: pop) och lägga på (en: push). Stacken är en mycket vanlig datastruktur och används implicit i i stort sett i alla datorprogram. Vid funktionsanrop i imperativa programspråk lagras anropsparametrarna och lokala variabler i en stack-struktur, så att de sedan kan hämtas tillbaka i rätt ordning när funktionen återvänder. Många processorer har en inbyggd stack för att hantera funktionsanrop och returadresser. (sv) Em ciência da computação, uma pilha (stack em inglês) é um tipo abstrato de dado e estrutura de dados baseado no princípio de Last In First Out (LIFO), ou seja "o último que entra é o primeiro que sai" caracterizando um empilhamento de dados. Pilhas são fundamentalmente compostas por duas operações: push (empilhar) que adiciona um elemento no topo da pilha e pop (desempilhar) que remove o último elemento adicionado. (pt) |
rdfs:label | مكدس (بنية بيانات) (ar) Memòria en pila (estructura de dades) (ca) Zásobník (datová struktura) (cs) Stapelspeicher (de) Στοίβα (δομή δεδομένων) (el) Stako (komputado) (eo) Pila (informática) (es) Pila (informatika) (eu) Tumpukan (struktur data) (in) Pila (informatica) (it) Pile (informatique) (fr) 스택 (ko) スタック (ja) Stos (informatyka) (pl) Stack (informatica) (nl) Stack (abstract data type) (en) Pilha (informática) (pt) Стек (ru) Стек (uk) Stack (datastruktur) (sv) 堆栈 (zh) |
rdfs:seeAlso | dbr:Jan_Łukasiewicz |
owl:sameAs | freebase:Stack (abstract data type) http://d-nb.info/gnd/4808341-0 yago-res:Stack (abstract data type) wikidata:Stack (abstract data type) dbpedia-ar:Stack (abstract data type) dbpedia-bg:Stack (abstract data type) http://bs.dbpedia.org/resource/Stek dbpedia-ca:Stack (abstract data type) dbpedia-cs:Stack (abstract data type) dbpedia-da:Stack (abstract data type) dbpedia-de:Stack (abstract data type) dbpedia-el:Stack (abstract data type) dbpedia-eo:Stack (abstract data type) dbpedia-es:Stack (abstract data type) dbpedia-et:Stack (abstract data type) dbpedia-eu:Stack (abstract data type) dbpedia-fa:Stack (abstract data type) dbpedia-fi:Stack (abstract data type) dbpedia-fr:Stack (abstract data type) dbpedia-he:Stack (abstract data type) http://hi.dbpedia.org/resource/ढेर_(सार_जानकारी_प्रकार) dbpedia-hr:Stack (abstract data type) dbpedia-hu:Stack (abstract data type) dbpedia-id:Stack (abstract data type) dbpedia-is:Stack (abstract data type) dbpedia-it:Stack (abstract data type) dbpedia-ja:Stack (abstract data type) dbpedia-kk:Stack (abstract data type) dbpedia-ko:Stack (abstract data type) dbpedia-lb:Stack (abstract data type) dbpedia-lmo:Stack (abstract data type) http://lt.dbpedia.org/resource/Rietuvė http://lv.dbpedia.org/resource/Steks_(datu_struktūra) http://ml.dbpedia.org/resource/സ്റ്റാക്ക്_(ഡാറ്റാ_സ്ട്രക്ച്ചർ) http://mn.dbpedia.org/resource/Стек dbpedia-nl:Stack (abstract data type) dbpedia-no:Stack (abstract data type) dbpedia-pl:Stack (abstract data type) dbpedia-pt:Stack (abstract data type) dbpedia-ro:Stack (abstract data type) dbpedia-ru:Stack (abstract data type) http://si.dbpedia.org/resource/Stack_(abstract_data_type) dbpedia-simple:Stack (abstract data type) dbpedia-sl:Stack (abstract data type) dbpedia-sq:Stack (abstract data type) dbpedia-sr:Stack (abstract data type) dbpedia-sv:Stack (abstract data type) http://ta.dbpedia.org/resource/அடுக்கு_(தரவுக்_கட்டமைப்பு) dbpedia-th:Stack (abstract data type) http://tl.dbpedia.org/resource/Stack_(agham_pangkompyuter) dbpedia-tr:Stack (abstract data type) dbpedia-uk:Stack (abstract data type) dbpedia-vi:Stack (abstract data type) dbpedia-zh:Stack (abstract data type) https://global.dbpedia.org/id/infS |
prov:wasDerivedFrom | wikipedia-en:Stack_(abstract_data_type)?oldid=1124214827&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Lifo_stack.svg wiki-commons:Special:FilePath/ProgramCallStack2_en.svg wiki-commons:Special:FilePath/Tallrik_-_Ystad-2018.jpg |
foaf:isPrimaryTopicOf | wikipedia-en:Stack_(abstract_data_type) |
is dbo:wikiPageDisambiguates of | dbr:Stack |
is dbo:wikiPageRedirects of | dbr:Hardware_stacks dbr:LIFO_(computing) dbr:Recursive_stack dbr:Stack_push dbr:LIFO_queue dbr:Stack_(data_structure) dbr:Stack_data_structure dbr:Push-down_store dbr:Push_down dbr:Link_nest_store dbr:Internal_call_stack dbr:Internal_stack dbr:Nest_store dbr:Nested_store dbr:Nesting_store dbr:Hardware_push_down dbr:Hardware_stack dbr:Push/pop dbr:Push_(computer_programming) dbr:Push_and_pop dbr:Pushdown dbr:Pushing_and_popping dbr:Last-come,_first_served dbr:Pop_(computer_programming) dbr:Bounded_stack dbr:Stack_(computer_science) dbr:Stack_(data_type) dbr:Stack_(programming) dbr:Stack_Depth_Distribution dbr:Stack_depth_distribution dbr:Stack_organization dbr:Stack_pop dbr:Stack_underflow |
is dbo:wikiPageWikiLink of | dbr:Behavior-driven_development dbr:Behavioral_subtyping dbr:Problem_solving dbr:Pushdown_automaton dbr:Queue_(abstract_data_type) dbr:Queue_number dbr:List_of_data_structures dbr:Minimal_instruction_set_computer dbr:Hardware_stacks dbr:Monroe_Epic dbr:SECD_machine dbr:Visibility_polygon dbr:Biconnected_component dbr:Bitcoin dbr:Block_sort dbr:Book_embedding dbr:Algebraic_semantics_(computer_science) dbr:Hyperoperation dbr:Joyce_(programming_language) dbr:Best,_worst_and_average_case dbr:Register_window dbr:Cut,_copy,_and_paste dbr:Depth-first_search dbr:Incompressibility_method dbr:Intermediate_representation dbr:Interpolation_sort dbr:List_of_programming_language_researchers dbr:List_of_programming_languages_by_type dbr:Power_law_of_cache_misses dbr:LIFO_(computing) dbr:Weak_component dbr:Cosmos_(operating_system) dbr:SPARC dbr:Esoteric_programming_language dbr:Skew_binary_number_system dbr:Search_data_structure dbr:Glossary_of_computer_science dbr:Branch_(computer_science) dbr:Consensus_(computer_science) dbr:Constructor_(object-oriented_programming) dbr:Container_(abstract_data_type) dbr:Conversational_scoreboard dbr:Convex_hull_algorithms dbr:Convex_hull_of_a_simple_polygon dbr:Corecursion dbr:LR_parser dbr:Orthogonal_instruction_set dbr:Recursive_stack dbr:MOS_Technology_6502 dbr:Magic:_The_Gathering dbr:Call_stack dbr:Shunting_yard_algorithm dbr:Stack-based_memory_allocation dbr:Stack-oriented_programming dbr:Stack_machine dbr:Command–query_separation dbr:Hardware_reset dbr:Housekeeping_(computing) dbr:National_Semiconductor_PACE dbr:P-code_machine dbr:Parallax_Propeller dbr:Peek_(data_type_operation) dbr:Pointer_(computer_programming) dbr:Polish_notation dbr:Pop dbr:Priority_queue dbr:Private_defense_agency dbr:Stack_overflow dbr:Magic:_The_Gathering_core_sets,_1993–2007 dbr:Spanning_tree dbr:Stack dbr:Structure dbr:Maze_generation_algorithm dbr:Stack-sortable_permutation dbr:CORAL dbr:Tree_stack_automaton dbr:Tree_traversal dbr:Data_segment dbr:Garbage_(computer_science) dbr:HP-25 dbr:HP-27 dbr:HP_2100 dbr:HP_48_series dbr:Heap_(data_structure) dbr:Linked_list dbr:List_(abstract_data_type) dbr:Potential_method dbr:X86_assembly_language dbr:AbsInt dbr:Abstract_data_type dbr:Data_type dbr:Ethereum dbr:Exp4j dbr:Forth_(programming_language) dbr:Breadth-first_search dbr:PDP-8 dbr:Pascal_(programming_language) dbr:Flood_fill dbr:Graham_scan dbr:Probabilistic_context-free_grammar dbr:Strongly_connected_component dbr:List_of_German_inventions_and_discoveries dbr:Stack_push dbr:HP-41C dbr:HP-65 dbr:HP_35s dbr:Asymmetric_numeral_systems dbr:Java_(programming_language) dbr:Technical_University_of_Munich dbr:Abstract_machine dbr:Ackermann_function dbr:LIFO_queue dbr:Binary_expression_tree dbr:Bitpit dbr:Blossom_tree_(graph_theory) dbr:TUM_School_of_Computation,_Information_and_Technology dbr:Code_injection dbr:Collection_(abstract_data_type) dbr:Java_virtual_machine dbr:Stack_trace dbr:Toi_(programming_language) dbr:Top_(disambiguation) dbr:Stack_(data_structure) dbr:Stack_data_structure dbr:Association_list dbr:Automata_theory dbr:C++23 dbr:Push-down_store dbr:Push_down dbr:IBM_OS/6 dbr:Icon_(programming_language) dbr:Industrial_Internet_Consortium dbr:Instruction_set_architecture dbr:Klaus_Samelson dbr:Merge_sort dbr:OpenVMS dbr:RTL/2 dbr:MMX_(instruction_set) dbr:Memory_management_unit dbr:Runtime_system dbr:SLD_resolution dbr:SPQR_tree dbr:Shakespeare_Programming_Language dbr:Nearest-neighbor_chain_algorithm dbr:Experix dbr:LIFO dbr:Link_nest_store dbr:Evolving_digital_ecological_network dbr:Execution_(computing) dbr:Union_mount dbr:Sigreturn-oriented_programming dbr:Standard_Libraries_(CLI) dbr:Internal_call_stack dbr:Internal_stack dbr:Shift-reduce_parser dbr:Portability_testing dbr:Variadic_function dbr:PDP-14 dbr:Parent_pointer_tree dbr:Nest_store dbr:Nested_store dbr:Nesting_store dbr:Hardware_push_down dbr:Hardware_stack dbr:Push/pop dbr:Push_(computer_programming) dbr:Push_and_pop dbr:Pushdown dbr:Pushing_and_popping dbr:Last-come,_first_served dbr:Pop_(computer_programming) dbr:Bounded_stack dbr:Stack_(computer_science) dbr:Stack_(data_type) dbr:Stack_(programming) dbr:Stack_Depth_Distribution dbr:Stack_depth_distribution dbr:Stack_organization dbr:Stack_pop dbr:Stack_underflow |
is dbp:data of | dbr:Shunting_yard_algorithm |
is foaf:primaryTopic of | wikipedia-en:Stack_(abstract_data_type) |