支持的操作
可分为两类操作,查询和修改。
- query: search(S,k), minimum(S), maximum(S), seccessor(S,x)——x前一个元素, predecessor(S,x)——x后一个元素
- modify: insert(S,x) delete(S,x)
stacks
- 性质:LIFO 后进先出
- 定义:用数组array S[1..n]表示堆,S.top为栈顶,
- 操作: stackEmpty(S) push(S,x) pop(S)
如图1:
queues
- 性质: FILO 先进先出
- 定义: 用数组array Q[1..n]表示队列,Q.head为队头,Q.tail为队尾,
- 操作: enqueue(Q,x) dequeue(Q)
如图2:
doubly linked list
- 操作:listSearch(L,k) listInsert(L,x) listDelete(L,x)
如图3:
circular,doubly linked list with sentinel(哨兵)
如图4: