package com.wuxifu.bishi;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.TreeSet;
public class hebing
{
public static void main(String[] args)
{
int[] a=new int[]{110,254,11};
int[] b=new int[]{9,99,66,999};
ArrayList<Integer> c = new ArrayList<Integer>();
TreeSet<Integer> d = new TreeSet<Integer>();
for (int i : a)
{
c.add(i);
d.add(i);
}
for (int i : b)
{
c.add(i);
d.add(i);
}
for (Integer integer : c)
{
//collection也可以这样遍历
}
System.out.println();
//排序,利用工具类进行排序
Collections.sort(c);
System.out.println(c);
//如果长度是奇数,中间 数的索引就是c.size()/2 7/2=3就是第四个数
System.out.println(c.get(c.size()/2));
//利用treeset的默认从小到大排序的机制进行排序
System.out.println(d);
//自己实现排序,通过方法
int[] mySort = mySort(a,b);
for (int i : mySort)
{
System.out.print(i+"\t");
}
}
private static int[] mySort(int[] a, int[] b)
{
int[] d =new int[a.length+b.length];
//先将数组a放入数组d中
for (int i = 0; i < a.length; i++)
{
d[i]=a[i];
}
//再将数字b放入d数组中,a.length-1+i 为什么这样呢????
for (int i = 0; i < b.length; i++)
{
d[a.length-1+i]=b[i];
}
//插入排序,要插入的数跟它前面已排好顺序的数进行比较,不跟后面的数进行比较
//属于插入排序
for (int i = 1; i <d.length; i++)
{
int insertNumber=b[i];
for (int j =i-1; j>=0; j--)//要跟已排好顺序数的最后一位排起,依次向前排
//for (int j =0; j<=i-1; j++) 这样比就大错特错,要先跟已排好顺序数的最后一位进行比较,这样才不会乱
{
if(d[j]>insertNumber)
{
d[j+1]=d[j];
d[j]=insertNumber;
}
}
}
return d;
}
}