staque: a count = start = end = 0 staque(capacity): a = new [capacity] push(x): if isfull(): throw a[end] = x count++ end = mod(end+1, a.length()) pop(x): if isempty(): throw end = mod(end-1, a.length()) count-- return a[end] enqueue(x): if isfull(): throw a[end] = x count++ end = mod(end+1, a.length()) x dequeue(): if isempty(): throw x = a[start] start = mod(start+1, a.length()) count-- return x isempty(): return count == 0 isfull(): return count == a.length() clear(): count = start = end = 0 top(): if isempty(): throw return a[end] start(): if isempty(): throw return a[start] end(): if isempty(): throw return a[end] mod(x, n): m = x % n if m < 0: m += n return m
Tuesday, March 29, 2016
staque, a stack+queue combo data structure
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment