സ്റ്റാക്ക് (ഡാറ്റാ സ്ട്രക്ച്ചർ)![]() അവസാനം ചേർക്കപ്പെടുന്ന അംഗങ്ങൾ ആദ്യം നീക്കം ചെയ്യപ്പെടുന്ന തരത്തിലുള്ള (LIFO : ലാസ്റ്റ്-ഇൻ-ഫസ്റ്റ്-ഔട്ട്) ഒരു ഡാറ്റാ സ്ട്രക്ച്ചറാണ് സ്റ്റാക്ക്. പുതിയ അംഗങ്ങളെ മുകൾഭാഗത്ത് ചേർക്കുക (പുഷ്), നിലവിലുള്ള അംഗങ്ങളെ മുകൾഭാഗത്തുനിന്ന് നീക്കുക (പോപ്) എന്ന രണ്ട് പ്രക്രിയകൾ മാത്രമേ സ്റ്റാക്കിൽ അനുവദിനീയമായുള്ളൂ. ഒരു രേഖീയ ഡാറ്റാ സ്ട്രക്ച്ചറാണിത്. ഉപയോഗംകംപ്യൂട്ടറുകളുമായി ബന്ധപ്പെട്ട് പല രംഗങ്ങളിലും ഉപയോഗിക്കപ്പെടുന്ന ഒരു ഡാറ്റാ സ്ട്രക്ച്ചറാണ് ഇത് :
സ്റ്റാക്ക് ഉപയോഗിച്ച് പ്രോസസ്സിങ്ങ് നടത്തേണ്ടത് ആവശ്യമായുള്ള അൽഗൊരിതങ്ങളൂണ്ട്. ഗ്രാഫുകളിൽ ഉപയോഗിക്കുന്ന ഡെപ്ത് ഫസ്റ്റ് സർച്ച് ആണ് ഒരുദാഹരണം. റികർഷൻ ഉപയോഗിച്ച് ചെയ്യേണ്ട കാര്യങ്ങൾ റികർഷൻ ഇല്ലാതെ നടത്താൻ സ്റ്റാക്ക് ഉപയോഗിക്കാം. അറേകൾ, ലിങ്ക്ഡ് ലിസ്റ്റുകൾ മുതലായവ ഉപയോഗിച്ച് സ്റ്റാക്കുകൾ നിർമ്മിക്കാം. സി++ സ്റ്റാൻഡേർഡ് ടെംപ്ലേറ്റ് ലൈബ്രറിസി++ സ്റ്റാൻഡേർഡ് ടെംപ്ലേറ്റ് ലൈബ്രറിയുടെ ഭാഗമായി സ്റ്റാക്ക് എന്ന ടെംപ്ലേറ്റ് ഉണ്ട്[1]. ഇത് ഒരു കണ്ടെയ്നർ അഡാപ്റ്റർ ആണ്. ഡെക്ക് ആണ് ഇതിന്റെ അടിസ്ഥാനം. stack എന്ന ഹെഡർ ഫയലിലാണ് ഇത് നിർവ്വചിക്കപ്പെട്ടിരിക്കുന്നത്. ഇതിലെ പ്രധാന ഫങ്ഷനുകൾ ഇവയാണ്:
അവലംബം |