| function COMPARE(X, Y : Array) : R |
| s ← e, i ← 1, j ← 1 |
| while(i ≤ |X| or j ≤ |Y|) : |
| x ← X [i], y ← Y[j] |
| if((y = NIL)‖(word[x] = word[y])) : |
| s ← s + d(phi[x], 0) |
| i ← (i + 1) |
| elseif((x = NIL)or(word[x] > word[y])) : |
| s ← (s + d(0, ϕ[y])) |
| j ← (j + 1) |
| else : |
| s ← (s + d(ϕ[x],ϕ[y])) |
| i ← (i + 1), j ← (j + 1) |
| returns |