合并两个集合{A}+{B},使用了链表的方式
import java.util.Scanner;
/**
* 两个集合合并
*
*/
class Link {
public int data;
public Link next;
public Link(int d) {
data=d;
}
}
class LinkList {
private Link first;
public LinkList() {
first=null;
}
/**
* 有序链表
* @param key
*/
public void insert(int key) {
Link newLink=new Link(key);
Link previous=null;
Link current=first;
while(current!=null && key>=current.data) {
if(key==current.data) return;
previous=current;
current=current.next;
}
if(previous==null) {
first=newLink;
} else {
previous.next=newLink;
}
newLink.next=current;
}
public void display() {
Link current=first;
while(current!=null) {
if(current.next==null) {
System.out.println(current.data);
break;
} else {
System.out.print(current.data+" ");
current=current.next;
}
}
}
}
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()) {
int n=in.nextInt();
int m=in.nextInt();
LinkList ll=new LinkList();
for(int i=0;i<n;i++) {
int k=in.nextInt();
ll.insert(k);
}
for(int i=0;i<m;i++){
int k=in.nextInt();
ll.insert(k);
}
ll.display();
}
}
}