import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
/**
*
*/
/***
* @author 18071
* @Date 2019年3月15日
* 功能:
***/
public class test3 {
public static void main(String args[]) {
Scanner ssss =new Scanner(System.in);
int n =Integer.parseInt(ssss.next());
ssss.nextLine();
for(int i=0;i<n;i++) {
int start=Integer.parseInt(ssss.next());
System.out.println("s "+start);
int end =Integer.parseInt(ssss.next());
System.out.println("e "+end);
}
List<Interval> list =new LinkedList<Interval>();
Interval i1=new Interval(1,10);
Interval i3=new Interval(32,45);
Interval i4=new Interval(78,94);
Interval i2=new Interval(5,16);
/*
* if(i1.end>i2.start) {
Interval in = new Interval(Math.min(i1.start,i2.start ),i1.end);
return in;//重叠
}
*/
list.add(i1);
list.add(i2);
list.add(i3);
list.add(i4);
Soultion3 s =new Soultion3();
s.so(list);
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
class Soultion3{
public void so(List<Interval> list) {
for(int i=1;i<list.size()-1;i++) {
for(int j=0;j<i;j++) {
Interval in=compare(list.get(j),list.get(j+1));
if( in != null) {
System.out.println("j is "+j);
list.remove(j);
list.set(j, in);
}
}
}
}
public Interval compare(Interval i1,Interval i2) {
if(i1.end>i2.start&&i1.start<i2.end) {
Interval in = new Interval(Math.min(i1.start,i2.start ),Math.max(i1.end, i2.end));
System.out.println("合二为一: "+"i1 ="+i1+" i2="+i2+" in 为"+in );
return in;//重叠
}
else {
return null;//不重叠
}
}
}
class Interval{
int start;
int end;
Interval(int s,int e){
this.start=s;
this.end=e;
}
public String toString() {
return "["+start
+" "+end+"]";
}
}
需要对list的插入进行排序,从小到大