操作实现部分 procedure initialise (var S:stack); var i integer; begin 一旦我们小心翼翼地完成了定义和实现, 我们就可以发布这个“数据结构”为一 个“数据类型”供别的程序员直接使用, 他们不用关心这个类型的所有实现细节, 就像我们自己使用int类型一样! end; function top(var S:stack):elemtype; begin return the top element of the stack x) top t=S.elements[S.last] end;
操作实现部分 一旦我们小心翼翼地完成了定义和实现, 我们就可以发布这个“数据结构”为一 个“数据类型”供别的程序员直接使用, 他们不用关心这个类型的所有实现细节, 就像我们自己使用int类型一样!
Program reverse(input,output) var s:stack;c:char begin initialize(s); read (c); while c<>”#”do begin push(s,c);read(c); end while not empty(s)do begin write(top(s)); pop(s); end end
Program reverse(input, output) var s: stack; c: char begin initialize(s); read (c); while c<>”#” do begin push(s,c);read(c); end while not empty(s) do begin write(top(s)); pop(s); end end
实际上,我们还可以采用不同的实现方式来实 现某个数据管理方式! 一} Figure 3.2 Pointer representation of a stack S. ■难道我们就定义了两个不同的stack了吗?
实际上,我们还可以采用不同的实现方式来实 现某个数据管理方式! ◼ 难道我们就定义了两个不同的stack了吗?