Implementation of Stack

 

The table below indicates where methods are implemented and the time complexity of these methods.  Some methods are implemented in more than one place.  When this happens, each entry overrides the entries to its left. When an entry says "based on iterator" or "traverse iterator" or "uses size," then the time complexity depends on the iterator or size method.

 

 

Stack Implementation

Abstract

Container

Abstract

Stack

Linked

Stack

 

constructor ()

O(1)

O(1)

O(1)

 

constructor (Collection col)

 

 

O(n)

 

constructor (Iterator iter)

 

 

O(n)

 

 

 

 

 

void

clear ()

O(1)

 

O(1)

Object

clone ()

 

 

O(n)

Collection

collectionView ()

based on iterator

 

 

boolean

equals (Object other)

 

traverse iterator

 

int

hashCode ()

traverse iterator

 

 

boolean

isEmpty

uses size method

 

 

Iterator

iterator ()

abstract

 

O(1)

Object

peek ()

 

 

O(1)

Object

pop ()

 

 

O(1)

void

push (Object item)

 

 

O(1)

int

size ()

O(1)

 

 

Object []

toArray ()

traverse iterator

 

 

String

toString ()

traverse iterator

 

 

 

martin@cc.wwu.edu
Disclaimer

Copyright Martin Osborne 1998-2001
  All rights reserved