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;
}
}
相关推荐
简单 易懂 随机产生两个数组AB,并排序,然后将两数组合并并排序用C输出
在java中对数组进行排序并合并的操作 java.util.Arrays.sort(arr3);
汉字和数字混合排序
将两个数组合并为一个数组,然后对这个数组进行排序
1:Java程序,100万加减乘除运算 2:Java程序,K个任意数组合并,然后对所有数组排序
介绍一个开发中常用的php多维数组合并类,希望对小伙伴们的学习实践有所帮助,多维数组合并或者多维数组和一维数组合并,数组排序,添加索引,添加前后缀。
List<String> location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));
文档中涵盖了有序数组合并的基本概念,包括如何将两个有序数组合并为一个,以及如何在Java中实现合并有序数组。此外,文档还包括一个逐步指南,介绍了如何在Java中实现合并有序数组,包括详细的代码示例和实现细节。...
归并排序是一种基于分治思想的排序算法,它将待排序的数组分成两部分,分别对这两部分递归地进行排序,最后将两个有序子数组合并成一个有序数组。它的时间复杂度为O(nlogn)。 归并排序的基本思路是将待排序的数组...
一个开发中常用的php多维数组合并类,希望对小伙伴们的学习实践有所帮助,多维数组合并或者多维数组和一维数组合并,数组排序,添加索引,添加前后缀。
两个有序数组,假设是从大到小排序的,一次循环合并两个数组,合完也是从大到小的顺序。
已经两个已经排好序的数组,找出两个数组合起来的中间大的数字
主要介绍了PHP简单实现多维数组合并与排序功能,涉及php数组合并、排序等相关操作及array_merge、array_multisort等函数使用技巧,需要的朋友可以参考下
归并排序的原理是将数组不断分成两半,直到每个子数组只有一个元素,然后将这些子数组合并成一个有序的数组。合并操作需要两个子数组都是有序的,因此归并排序需要先对数组进行分解,然后再进行合并。 以下是归并...
问题:将两个已排序数组合并成一个排序数组 这里先不考虑大数据量的情况(在数据量很大时不知大家有什么好的思路或方法?),只做简单数组的处理。 简单代码如下: 说明:之所以把merge函数定义成返回数组长度,是因为...
S7-200SMART_数据排序(整数+双整数+实数+无符号数)库文件及使用说明
归并排序的原理是将数组不断分成两半,直到每个子数组只有一个元素,然后将这些子数组合并成一个有序的数组。合并操作需要两个子数组都是有序的,因此归并排序需要先对数组进行分解,然后再进行合并。 以下是归并...
归并排序:它有一定数量的数据移动,所以我们可能过与插入排序组合,先获得一定长度的序列,然后再合并,在效率上将有所提高。 2) 当n较大,内存空间允许,且要求稳定性 =》归并排序 3)当n较小,可采用直接插入...
采用归并排序将一个数组的两个排好序的子数组合并成为一个排好序的子新数组
易语言归并排序算法源码,归并排序算法,归并排序,子程序_有序数组合并