rendered paste bodyimport fi.joensuu.cs.tra.*;
public class h14 {
public static void main(String args[]) {
TraLinkedList<Integer> lista = new TraLinkedList<Integer>();
TraLinkedList<Integer> lista2 = new TraLinkedList<Integer>();
for (int i = 0 ; i <= 20 ; i++) {
lista.insert(lista.EOL, i);
}
for(int i = 15 ; i <= 35 ; i++) {
lista2.insert(lista2.EOL, i);
}
t11 t = new t11();
t.tulostaLista(lista);
t.tulostaLista(lista2);
t.tulostaLista(xorLists(lista, lista2));
}
public static TraLinkedList<Integer> xorLists(TraLinkedList lista1, TraLinkedList lista2) {
TraLinkedList<Integer> uusilista = new TraLinkedList<Integer>();
insertElementsByExcludingList(lista1, lista2, uusilista);
insertElementsByExcludingList(lista2, lista1, uusilista);
return uusilista;
}
public static void insertElementsByExcludingList(TraLinkedList includeList, TraLinkedList excludeList, TraLinkedList resultList) {
ListNode nodeIter = includeList.first();
while(nodeIter != includeList.EOL) {
Object element = nodeIter.getElement();
if(!listContainsElement(excludeList, element)) {
resultList.insert(resultList.EOL, element);
}
nodeIter=nodeIter.next();
}
}
public static Boolean listContainsElement(TraLinkedList list, Object element) {
if(list.first() == list.EOL) {
return false;
}
else {
return list.find(list.first(), element) != null;
}
}
}