Create List intersection, c++

My implementation of 3 methods that find the intersection between two linear lists. The first and last functions deal with un-ordered lists, the second is for ordered. All implementations have O(n) runtime, but a few differences in their implementation lead to slight efficiency changes between them. the third implementation is typicaly the faster, for unordered lists