diff --git a/@stack/element.m b/@stack/element.m new file mode 100644 index 0000000000000000000000000000000000000000..9611f925d78a1cda438b12e231c57698e3ac404e --- /dev/null +++ b/@stack/element.m @@ -0,0 +1,4 @@ +function val = element(self) + val = self.element; +end + diff --git a/@stack/length.m b/@stack/length.m index 0aa286ee965f8b5074374f64f1e0997bf21731bc..df08a649989cdf518ed83df08a995d502ca52b97 100644 --- a/@stack/length.m +++ b/@stack/length.m @@ -1,9 +1,9 @@ - function length = length(self) - length = 0; - node = self.stack_pointer; - while ~isempty(node) - length = length + 1; - node = next(node); - end - end +function length = length(self) +length = 0; +node = self.stack_pointer; +while ~isempty(node) + length = length + 1; + node = next(node); +end +end diff --git a/@stack/pop.m b/@stack/pop.m index 9b647c1c7b9641e815467663162d56be779dc3a5..2b504607369307c4e1a04d4c73222e3779138a4f 100644 --- a/@stack/pop.m +++ b/@stack/pop.m @@ -1,4 +1,4 @@ -function element = pop(self) +function self = pop(self) %increase the stack pointer and return 'top' node data % usage : % element = pop(stack) @@ -6,9 +6,9 @@ function element = pop(self) % $Id$ if isempty(self.stack_pointer) - element = {}; + self.element = {}; else - element = data(self.stack_pointer); + self.element = data(self.stack_pointer); self.stack_pointer = next(self.stack_pointer); end diff --git a/@stack/push.m b/@stack/push.m index 71770325dabc4f249293e2c05e47a3191698cca7..883fd06537e44d3d2b0900ca9578105e1af4e8df 100644 --- a/@stack/push.m +++ b/@stack/push.m @@ -1,4 +1,4 @@ - function self = push(self, element) - self.stack_pointer = node(element, self.stack_pointer); - end +function self = push(self, element) + self.stack_pointer = node(element, self.stack_pointer); +end diff --git a/@stack/stack.m b/@stack/stack.m index 0c46a3374798dc6d6326a989f91c9aae573d9aae..76e0118ec591028e8b21e6ba00bf802ad5537065 100644 --- a/@stack/stack.m +++ b/@stack/stack.m @@ -4,22 +4,25 @@ function s = stack % Last In First Out (LIFO) % % usage: -% q = stack - Default constructor, empty stack table +% s = stack - Default constructor, empty stack table % % example: -% q = stack -% q = push(q, [1:2]) -% q = push(q, ones(1,5)) -% element = pop(q) -% q = push(q, zeros(1,3)) +% s = stack +% s = push(q, [1:2]) +% s = push(q, ones(1,5)) +% s = pop(s) +% e = element(s) +% s = push(s, zeros(1,3)) +% e = top(s) % etc ... % % $Id$ -% copy constructor +% constructor % ---------------- if nargin == 0 self.stack_pointer = {}; + self.element = {}; else error('stack:stack', 'Invalid arguments.'); end diff --git a/@stack/top.m b/@stack/top.m index 3927b5b0d8e048504cbc1983db2300ce1ddc92d5..09ffb28f069462ffb3570939d25f5f1d1d76ea27 100644 --- a/@stack/top.m +++ b/@stack/top.m @@ -1,17 +1,17 @@ - function element = top(self) +function element = top(self) %return 'top' node % usage % data = top(stack) % $Id: get.m 416 2009-02-13 07:55:41Z jgrelet $ -% return object prepared in data +% return object prepared in data % ------------------------------ - if isempty(self.stack_pointer) - element = {}; - else - element = data(self.stack_pointer); - end - end +if isempty(self.stack_pointer) + element = {}; +else + element = data(self.stack_pointer); +end +end