在Python中它看起来像这样:
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
我使用哪种数据结构以及如何在Oracle PL / SQL中实现堆栈?
答案 0 :(得分:1)
您可以使用OBJECT
类型来实现面向对象的事物。
与其他编程语言中的class
类似,您可以在PL / SQL中使用OBJECT
来封装数据。
例如堆栈定义:(从ORACLE文档链接中解除....在下面发布。您可以在该链接中找到以下声明的定义。)
CREATE TYPE Stack AS OBJECT (
max_size INTEGER,
top INTEGER,
position IntArray,
MEMBER PROCEDURE initialize,
MEMBER FUNCTION full RETURN BOOLEAN,
MEMBER FUNCTION empty RETURN BOOLEAN,
MEMBER PROCEDURE push (n IN INTEGER),
MEMBER PROCEDURE pop (n OUT INTEGER)
);
https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/13_elems32.htm