Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- class SLLNode<E>
- {
- E element;
- SLLNode<E> succ;
- public SLLNode(E element, SLLNode<E> succ) {
- this.element = element;
- this.succ = succ;
- }
- }
- class SLL<E>
- {
- private SLLNode<E> first;
- public SLL()
- {
- first = null;
- }
- public void insertFirst(E element)
- {
- SLLNode<E> nov = new SLLNode(element,first);
- first = nov;
- }
- public void insertLast(E element)
- {
- if(first==null)
- {
- insertFirst(element);
- }
- else
- {
- SLLNode<E> nov = new SLLNode(element,null);
- SLLNode<E> dvizi = first;
- while(dvizi.succ!=null)
- {
- dvizi = dvizi.succ;
- }
- dvizi.succ = nov;
- }
- }
- @Override
- public String toString()
- {
- SLLNode<E> dvizi = first;
- String s = new String();
- while(dvizi!=null)
- {
- s = s + dvizi.element+" ";
- dvizi= dvizi.succ;
- }
- return s;
- }
- public SLLNode<E> getFirst()
- {
- return first;
- }
- }
- public class SpoiListi {
- public static void brisiDuplikati(SLL<Integer> lista)
- {
- SLLNode<Integer> dvizi = lista.getFirst();
- while(dvizi!=null)
- {
- SLLNode<Integer> sled = dvizi.succ;
- SLLNode<Integer> pred = dvizi;
- while(sled!=null)
- {
- if(dvizi.element.equals(sled.element))
- {
- pred.succ = sled.succ;
- }
- else
- {
- pred = sled;
- }
- sled = sled.succ;
- }
- dvizi = dvizi.succ;
- }
- }
- public static SLL<Integer> spoiListi(SLL<Integer> l1,SLL<Integer> l2)
- {
- SLL<Integer> result = null;
- SLLNode<Integer> d1 = null;
- SLLNode<Integer> d2 = null;
- if(l1.getFirst().element < l2.getFirst().element)
- {
- result = l1;
- d1 = l1.getFirst();
- d2 = l2.getFirst();
- }
- else if(l1.getFirst().element > l2.getFirst().element)
- {
- result = l2;
- d1 = l2.getFirst();
- d2 = l1.getFirst();
- }
- else
- {
- result = l1;
- d1 = l1.getFirst();
- d2 = l2.getFirst().succ;
- }
- SLLNode<Integer> sled = null;
- while(d2!=null)
- {
- if(d1.succ!=null)
- {
- if(d1.succ.element > d2.element)
- {
- sled = d2.succ;
- d2.succ = d1.succ;
- d1.succ = d2;
- d1 = d2;
- d2 = sled;
- }
- else if(d1.succ.element < d2.element)
- {
- d1 =d1.succ;
- }
- else
- {
- d1 = d1.succ;
- d2 = d2.succ;
- }
- }
- else
- {
- d1.succ = d2;
- }
- }
- return result;
- }
- public static void main(String[] args) throws IOException{
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- SLL<Integer> lista1 = new SLL();
- int N = Integer.parseInt(br.readLine());
- String line = br.readLine();
- String []pomNiza = line.split(" ");
- for (int i = 0; i < N; i++) {
- lista1.insertLast(Integer.parseInt(pomNiza[i]));
- }
- SLL<Integer> lista2 = new SLL();
- int M = Integer.parseInt(br.readLine());
- line = br.readLine();
- String []pomNiza1 = line.split(" ");
- for (int i = 0; i < M; i++) {
- lista2.insertLast(Integer.parseInt(pomNiza1[i]));
- }
- brisiDuplikati(lista1);
- brisiDuplikati(lista2);
- SLL<Integer> nova = spoiListi(lista1,lista2);
- System.out.println(nova);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement