首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

将两数结合并后排序

2013-01-28 
将两数组合并后排序package com.wuxifu.bishiimport java.util.ArrayListimport java.util.Arraysimpor

将两数组合并后排序

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--)
??????????? {
??????????????? if(d[j]>insertNumber)
??????????????? {
??????????????????? d[j+1]=d[j];
??????????????????? d[j]=insertNumber;
??????????????? }
??????????? }
??????? }
?? return d;
??? }
}

热点排行