- 浏览: 120884 次
- 性别:
- 来自: 南宁
文章分类
最新评论
public class Arrays{
//求两数组的交集,使交集重新生成一个数组
public static int[] include(int[] a,int[] b){
int temp=0;
int[] arr=new int[a.length];
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i]==b[j]){
arr[temp]=a[i];
temp++;
}
}
}
int[] ras=new int[temp];
for(int i=0;i<temp;i++){
ras[i]=arr[i];
}
return ras;
}
//两数组交叉成一个新数组 例 int[] a={1,3,5,7,9,10};int[] b={2,4}; result: int[]c={1,2,3,4,5,7,9,10};
public static int[] merge(int[] a,int[] b){
int[]c=new int[a.length+b.length];
int m=0;
int n=0;
for(int i=0;i<c.length;i++){
if(i%2==0){
if(m>a.length-1){
c[i]=b[n];
}
else{
c[i]=a[m];
m++;
}
}
else{
if(n>b.length-1){
c[i]=a[m];
}
else{
c[i]=b[n];
n++;
}
}
}
return c;
}
//在数组的中间插入一个元素组成新数组
public static int[] insert(int[]arr,int x){
int[] arrs=new int[arr.length+1];
if(arr.length%2==0){
for(int i=0;i<arr.length/2;i++){
arrs[i]=arr[i];
}
arrs[arr.length/2]=x;
for(int i=arr.length/2;i<arr.length;i++){
arrs[i+1]=arr[i];
}
}else{
for(int i=0;i<arr.length/2+1;i++){
arrs[i]=arr[i];
}
arrs[arr.length/2+1]=x;
for(int i=arr.length/2+1;i<arr.length;i++){
arrs[i+1]=arr[i];
}
}
return arrs;
}
//删除数组的中间元素
public static int[] remove(int[] arr){
int[] arrs=new int[arr.length-1];
for(int i=0;i<arr.length/2;i++){
arrs[i]=arr[i];
}
for(int j=arr.length/2+1;j<arr.length;j++){
arrs[j-1]=arr[j];
}
return arrs;
}
//两个数组合并成一个新的数组
public static int[] add(int[]a,int[]b){
int[] c=new int[a.length+b.length];
for(int i=0;i<a.length;i++){
c[i]=a[i];
}
for(int j=0;j<b.length;j++){
c[a.length+j]=b[j];
}
return c;
}
//删除数组中与指定n相同的元素
public static int[] delElement(int arrs[],int n) {
int temp=0;
int[] arr=new int[arrs.length];
for(int i=0;i<arrs.length;i++){
if(arrs[i]!=n){
arr[temp]=arrs[i];
temp++;
}
}
int[] ras=new int[temp];
for(int i=0;i<ras.length;i++){
ras[i]=arr[i];
}
return ras;
}
//比较两个数组的大小
public static int compare(int[] arr1,int[] arr2) {
int flag=0;
if(arr1.length!=arr2.length) {
if(arr1.length>arr2.length) {
flag=1;
} else {
flag=2;
}
}else {
for(int i=0;i<arr1.length;i++) {
if(arr1[i]>arr2[i]) {
flag=1; break;
}else if(arr1[i]<arr2[i]) {
flag=2;break;
}
}
}
return flag;
}
//取数组中<=min >=max 的元素组成的新数组
public static int[] delElement(int arrs[],int min,int max) {
int[]arr=new int[arrs.length];
int temp=0;
for(int i=0;i<arrs.length;i++){
if(arrs[i]<=min || arrs[i]>=max){
arr[temp]=arrs[i];
temp++;
}
}
int []ras=new int[temp];
for(int i=0;i<temp;i++){
ras[i]=arr[i];
}
return ras;
}
//求两个数组的并集 如int[]arr1={1,2,3,5,8}; int[]arr2={2,5,7,8,9}; result: int[]arr={1,2,3,5,7,8,9};
public static int[] merges(int[] arr1, int[] arr2) {
int[] arr3 =new int[arr1.length];
int ai= 0;
for(int i= 0; i<arr1.length ;i++){ //此循环求两数组相同的元素组成的新数组arr3[]
for(int j=0; j<arr2.length;j++){
if(arr1[i]==arr2[j]){
arr3[ai]=arr1[i];
ai++;
}
}
}
int[] arr4 = new int[arr2.length-ai];
int a4=0;
int a3= 0;
for(int i = 0 ;i<arr2.length; i++){ //数组arr2中除去arr3[]中得到的新数组arr4
if(arr2[i]!=arr3[a3]){
arr4[a4]=arr2[i];
a4++;
}else{
a3++;
}
}
int[] arr = new int[arr1.length+arr4.length];
for(int i = 0 ;i<arr.length; i++){
if(i<arr1.length){
arr[i]=arr1[i];
}else{
arr[i]=arr4[i-arr1.length];
}
}
return arr;
}
//打印数组
public static void printArray(int[]arr){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
//求两数组的交集,使交集重新生成一个数组
public static int[] include(int[] a,int[] b){
int temp=0;
int[] arr=new int[a.length];
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i]==b[j]){
arr[temp]=a[i];
temp++;
}
}
}
int[] ras=new int[temp];
for(int i=0;i<temp;i++){
ras[i]=arr[i];
}
return ras;
}
//两数组交叉成一个新数组 例 int[] a={1,3,5,7,9,10};int[] b={2,4}; result: int[]c={1,2,3,4,5,7,9,10};
public static int[] merge(int[] a,int[] b){
int[]c=new int[a.length+b.length];
int m=0;
int n=0;
for(int i=0;i<c.length;i++){
if(i%2==0){
if(m>a.length-1){
c[i]=b[n];
}
else{
c[i]=a[m];
m++;
}
}
else{
if(n>b.length-1){
c[i]=a[m];
}
else{
c[i]=b[n];
n++;
}
}
}
return c;
}
//在数组的中间插入一个元素组成新数组
public static int[] insert(int[]arr,int x){
int[] arrs=new int[arr.length+1];
if(arr.length%2==0){
for(int i=0;i<arr.length/2;i++){
arrs[i]=arr[i];
}
arrs[arr.length/2]=x;
for(int i=arr.length/2;i<arr.length;i++){
arrs[i+1]=arr[i];
}
}else{
for(int i=0;i<arr.length/2+1;i++){
arrs[i]=arr[i];
}
arrs[arr.length/2+1]=x;
for(int i=arr.length/2+1;i<arr.length;i++){
arrs[i+1]=arr[i];
}
}
return arrs;
}
//删除数组的中间元素
public static int[] remove(int[] arr){
int[] arrs=new int[arr.length-1];
for(int i=0;i<arr.length/2;i++){
arrs[i]=arr[i];
}
for(int j=arr.length/2+1;j<arr.length;j++){
arrs[j-1]=arr[j];
}
return arrs;
}
//两个数组合并成一个新的数组
public static int[] add(int[]a,int[]b){
int[] c=new int[a.length+b.length];
for(int i=0;i<a.length;i++){
c[i]=a[i];
}
for(int j=0;j<b.length;j++){
c[a.length+j]=b[j];
}
return c;
}
//删除数组中与指定n相同的元素
public static int[] delElement(int arrs[],int n) {
int temp=0;
int[] arr=new int[arrs.length];
for(int i=0;i<arrs.length;i++){
if(arrs[i]!=n){
arr[temp]=arrs[i];
temp++;
}
}
int[] ras=new int[temp];
for(int i=0;i<ras.length;i++){
ras[i]=arr[i];
}
return ras;
}
//比较两个数组的大小
public static int compare(int[] arr1,int[] arr2) {
int flag=0;
if(arr1.length!=arr2.length) {
if(arr1.length>arr2.length) {
flag=1;
} else {
flag=2;
}
}else {
for(int i=0;i<arr1.length;i++) {
if(arr1[i]>arr2[i]) {
flag=1; break;
}else if(arr1[i]<arr2[i]) {
flag=2;break;
}
}
}
return flag;
}
//取数组中<=min >=max 的元素组成的新数组
public static int[] delElement(int arrs[],int min,int max) {
int[]arr=new int[arrs.length];
int temp=0;
for(int i=0;i<arrs.length;i++){
if(arrs[i]<=min || arrs[i]>=max){
arr[temp]=arrs[i];
temp++;
}
}
int []ras=new int[temp];
for(int i=0;i<temp;i++){
ras[i]=arr[i];
}
return ras;
}
//求两个数组的并集 如int[]arr1={1,2,3,5,8}; int[]arr2={2,5,7,8,9}; result: int[]arr={1,2,3,5,7,8,9};
public static int[] merges(int[] arr1, int[] arr2) {
int[] arr3 =new int[arr1.length];
int ai= 0;
for(int i= 0; i<arr1.length ;i++){ //此循环求两数组相同的元素组成的新数组arr3[]
for(int j=0; j<arr2.length;j++){
if(arr1[i]==arr2[j]){
arr3[ai]=arr1[i];
ai++;
}
}
}
int[] arr4 = new int[arr2.length-ai];
int a4=0;
int a3= 0;
for(int i = 0 ;i<arr2.length; i++){ //数组arr2中除去arr3[]中得到的新数组arr4
if(arr2[i]!=arr3[a3]){
arr4[a4]=arr2[i];
a4++;
}else{
a3++;
}
}
int[] arr = new int[arr1.length+arr4.length];
for(int i = 0 ;i<arr.length; i++){
if(i<arr1.length){
arr[i]=arr1[i];
}else{
arr[i]=arr4[i-arr1.length];
}
}
return arr;
}
//打印数组
public static void printArray(int[]arr){
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
发表评论
-
android 横屏重启的解决方案
2011-09-19 15:45 1594Android每次屏幕的横竖切换Activity会重新OnCr ... -
java 类的序列化
2011-08-30 11:57 832序列化: 可以将一个对象保存到一个文件,所以可以通过流的方式 ... -
android全屏显示的方法
2011-08-15 11:16 1470我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等 ... -
模仿AJAX上传文件
2011-07-27 11:08 0首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:08 658首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:07 703首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
模仿AJAX上传文件
2011-07-27 11:07 896首先要说的就是 ajax 是无法实现上传文件的,可以想一下aj ... -
java链接数据库乱码解决方案
2011-05-20 17:56 1274Java乱码问题解决方 ... -
java 连接数据库实例
2011-03-16 11:43 1018package com.dao;import java.sql ... -
java html标签过滤类
2011-02-12 00:24 1213import java.util.regex.Matcher; ... -
java 批量下载图片,批量打包文件并下载
2011-02-11 14:15 17261、批量下载网页上,动态生成的图片到服务器上指定的目录中 2、 ... -
myeclipse 注册的方法
2011-02-11 00:42 692import java.io.BufferedReader;i ... -
利用java.net包访问网络,连接网页并返回html页面代码
2011-02-11 00:28 1447package org.kevin;import java.n ... -
Java清除HTML标签
2011-02-11 00:14 1568使用正则表达式删除HTML标签。 import ja ... -
j2me 环境搭建
2011-01-17 09:17 851用Eclipse和WTK搭建J2ME开发环境 关键字: j2 ... -
jdbc 连接sql2008的问题解决
2010-12-31 16:24 1568首先下JDBC4,然后解压在C ... -
Struts 开发帮助文件
2010-12-25 23:58 597一、 概述struts是基于当前的一些相关标准的开发技术 ... -
java给图片加图片水印
2010-12-08 21:00 796package com.test;import java.aw ... -
java连接数据库大全
2010-11-06 10:30 773JAVA连接数据库大全 关键字: 数据库连接大全 J ... -
两个数组求并集
2010-10-26 22:59 1889对两个数组求并集,由于对数组的操作不是很熟悉,所以将数组中的数 ...
相关推荐
本文通过多种实现方式给大家介绍了JS计算两个数组的交集、差集、并集、补集 的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
对于多个数组而言,集合操作(如交集、并集、差集)则更为常见。这些操作在数据分析、数据清洗等领域尤为重要。 #### 1.2 LINQ简介 LINQ 是一种强大的查询语言,它将查询能力引入到 C# 中。LINQ 提供了一系列的方法...
利用指针来实现动态数组,求两个集合的交集和并集。(要求用动态数组来实现)依次分别输入数组A、B长度,并输入A,B中元素,即可得到交集并集
利用java 语言,实现数组的并集交集补集,数组可键入。
用C#简单实现了对字符串数组求交集并集,定义类
从数组1的尚未比较的元素中拿出第一个元素array1(i),用array1(i)与array2(j)进行比较(其中j>i且j的长度),可能出现下面两种情况, 1. 数组2中找到了一个与array1(i)相等的元素,则将array2(j)与array2(i)进行...
在JavaScript中,处理数组的操作是非常常见的任务,尤其是在数据处理和前端开发中。本篇将详细介绍如何使用JavaScript来获取两个数组的交集、差集、并集和补集,以及如何去除数组中的重复元素。这些操作在实际编程中...
彩票简单工具可用来对彩票大底进行交集处理并得出交集并集和差集
求java数组的交集,并集,差集 实现方法简单但很实用
在MATLAB中,处理连续区间的数据操作是常见的需求,特别是在数学建模、数据分析等领域。本篇文章将详细讨论如何在MATLAB中实现连续区间的交集和并集操作,以及介绍两个相关的函数——CombSet和IntSet。 首先,理解...
java代码实现交集,并集 求交集并集叫好用的代码.个人感觉
常见的集合运算包括交集、并集等。MATLAB作为一种广泛应用于工程计算、数值分析以及科学研究的强大工具,能够方便地实现这些集合运算。本文将详细解析如何通过MATLAB编写代码来求解两个集合的交集和并集。 #### 二...
C++程序设计实现集合交集并集差集 本文主要介绍了使用 C++ 语言实现集合的交集、并集和差集运算。该程序设计了一个名为 int_set 的类,用于表示一个整数集合。该类中包含了多个成员函数,用于实现集合的基本运算,...
在这个示例中,我们将深入探讨如何使用LINQ操作数组,主要包括交集、并集、差集、最值以及去重复等操作。 首先,我们来看交集(Intersect)操作。在给定的代码中,`fuck`变量存储了数组`a`和`b`的交集。`Intersect`...
c++程序设计实现集合交集并集差集.docx
当我们处理多个DataTable时,可能需要比较它们之间的数据,找出交集、并集或差集。这在数据分析、数据清洗或者数据库同步等场景中非常常见。本教程将通过一个完整的源码示例,帮助初学者理解如何在C#中快速地完成这...
集合运算通常包括求并集、交集和差集等操作,这些在编程中非常常见,特别是在处理数据时。本篇文章将深入探讨如何用线性表,特别是顺序表来实现集合的求并集和交集运算。 首先,我们需要理解什么是顺序表。顺序表是...
在编程领域,集合操作是常见的数据处理任务,其中包括找出多个集合的交集和并集。交集是指存在于所有集合中的元素,而并集则是指存在于至少一个集合中的所有元素。在Java中,我们可以使用多种方法来实现这些操作,...
交集并集典型例题