Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function deriveorder(m)
- out = String[]
- while length(m) > 0
- # find the right value for x
- lenarr = Vector{String}(length(m))
- for (k, v) in m
- len = length(v)
- lenarr[len] = k
- end
- x = m[lenarr[1]] # x is equal to the element present in all arrays
- append!(out, x)
- for (k, v) in m # iterate through all arrays in m
- for (i, j) in enumerate(v) # iterate through elements in arrays
- if [j] == x
- global xind = i # store index whose element is equal to x
- end
- end
- deleteat!(m[k], xind) # delete element equal to x in array k
- if length(m[k]) == 0 # if k is an empty array, delete it from m
- delete!(m, k)
- end
- end
- end
- return out
- end
Add Comment
Please, Sign In to add comment