24 lines
367 B
Awk
24 lines
367 B
Awk
|
|
BEGIN {
|
||
|
|
NIL = 0
|
||
|
|
HEAD = 1
|
||
|
|
LINK = 1
|
||
|
|
VALUE = 2
|
||
|
|
|
||
|
|
delete list
|
||
|
|
initList()
|
||
|
|
}
|
||
|
|
|
||
|
|
function initList() {
|
||
|
|
delete list
|
||
|
|
list[HEAD] = makeNode(NIL, NIL)
|
||
|
|
}
|
||
|
|
|
||
|
|
function makeNode(link, value) {
|
||
|
|
return link SUBSEP value
|
||
|
|
}
|
||
|
|
|
||
|
|
function getNode(part, nodePtr, linkAndValue) {
|
||
|
|
split(list[nodePtr], linkAndValue, SUBSEP)
|
||
|
|
return linkAndValue[part]
|
||
|
|
}
|