Outline



reasoning about programs



Stacks



Stacks in computer science



Stacks vs. arrays



Stacks vs. linked lists



Stack ADT



Method signatures



Array stack: implementation using arrays



Array stack performance



Linked stack: implementation using linked nodes



Stack performance



Other stack implementations, using a java Vector or List



Stack Applications: Palindromes



Stack Applications: Matching Parentheses