欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
整形數組實(shí)用類(lèi),用于求兩數組的并交差集
package com.sitinspring;

/**
 * 整形數組實(shí)用類(lèi),能求兩數組的并交差集,不借助于集合類(lèi)
 * 
@author: sitinspring(junglesong@gmail.com)
 * @date: 2008-6-24-下午10:13:33
 
*/

public final class IntegerArrayUtil{
    
// 私有構造函數,防止創(chuàng )建IntegerArrayUtil的實(shí)例
    private IntegerArrayUtil(){
        
    }

    
    
/**
     * 取得兩數組并集
     * 
@param arr1
     * 
@param arr2
     * 
@return
     
*/

    
public static int[] union(int[] arr1,int[] arr2){
        DynamicArray dynamicArray
=new DynamicArray();
        
        
for(int temp:arr1){
            dynamicArray.add(temp);
        }

        
        
for(int temp:arr2){
            
if(!exist(temp,arr1)){
                dynamicArray.add(temp);
            }

        }

        
        
return dynamicArray.getArr();
    }

    
    
/**
     * 取得兩數組交集
     * 
@param arr1
     * 
@param arr2
     * 
@return
     
*/

    
public static int[] intersact(int[] arr1,int[] arr2){
        DynamicArray dynamicArray
=new DynamicArray();
        
        
for(int temp:arr1){
            
if(exist(temp,arr2)){
                dynamicArray.add(temp);
            }

        }

        
        
return dynamicArray.getArr();
    }

    
    
/**
     * 取得兩數組差集
     * 
@param arr1
     * 
@param arr2
     * 
@return
     
*/

    
public static int[] minus(int[] arr1,int[] arr2){
        DynamicArray dynamicArray
=new DynamicArray();
        
        
for(int temp:arr1){
            
if(!exist(temp,arr2)){
                dynamicArray.add(temp);
            }

        }

        
        
return dynamicArray.getArr();
    }

    
    
/**
     * 判斷number在數組arr中是否存在
     * 
@param number
     * 
@param arr
     * 
@return
     
*/

    
private static boolean exist(int number,int[] arr){
        
for(int temp:arr){
            
if(number==temp){
                
return true;
            }

        }

        
        
return false;
    }

    
    
/**
     * 顯示數組元素
     * 
@param arr
     
*/

    
private static void display(int[] arr){
        
for(int temp:arr){
            System.out.print(temp
+",");
        }

        
        System.out.println();
    }

    
    
public static void main(String[] args){
        
int[] arr1={1,2,3,4,5,0,-1,-2,-3,-4,-5,};
        
int[] arr2={6,2,7,4,8,0,-1,-2,};

        System.out.print(
"數組arr1為");
        display(arr1);
        System.out.print(
"數組arr2為");
        display(arr2);
        System.out.print(
"arr1和arr2的并集為");
        display(IntegerArrayUtil.union(arr1, arr2));
        System.out.print(
"arr1和arr2的交集為");
        display(IntegerArrayUtil.intersact(arr1, arr2));
        System.out.print(
"arr1和arr2的差集為");
        display(IntegerArrayUtil.minus(arr1, arr2));
    }

}

輸出:
數組arr1為1,2,3,4,5,0,-1,-2,-3,-4,-5,
數組arr2為6,
2,7,4,8,0,-1,-2,
arr1和arr2的并集為1,
2,3,4,5,0,-1,-2,-3,-4,-5,6,7,8,
arr1和arr2的交集為2,
4,0,-1,-2,
arr1和arr2的差集為1,
3,5,-3,-4,-5,

動(dòng)態(tài)數組類(lèi):
package com.sitinspring;

/**
 * 動(dòng)態(tài)數組類(lèi),以數組為數據容器實(shí)現動(dòng)態(tài)數組的功能
 * 
@author: sitinspring(junglesong@gmail.com)
 * @date: 2008-6-23-下午10:08:09
 
*/

public class DynamicArray {
    
/** *//**
     * 用于存儲數據的數組
     
*/

    
private int[] arr;

    
/** *//**
     * 初始化大小
     
*/

    
private static final int initSize = 10;

    
/** *//**
     * 當前元素個(gè)數
     
*/

    
private int currItemsCount = 0;

    
/** *//**
     * 構造函數一,固定大小
     
*/

    
public DynamicArray() {
        arr 
= new int[initSize];
    }

    
    
/** *//**
     * 構造函數二,指定大小
     
*/

    
public DynamicArray(int len) {
        arr 
= new int[len];
    }


    
/** *//**
     * 取得位置在i的元素
     
*/

    
public int get(int i) {
        
if (i < currItemsCount) {
            
return arr[i];
        }


        
return -999;
    }


    
/** *//**
     * 取得數組中已有元素的個(gè)數
     * 
@return
     
*/

    
public int size() {
        
return currItemsCount;
    }


    
/** *//**
     * 添加一個(gè)元素到數組
     * 
@param number
     
*/

    
public void add(int number) {
        
if (currItemsCount >= arr.length) {
            
int[] arrNew = new int[arr.length * 2];
            
for (int i = 0; i < arr.length; i++{
                arrNew[i] 
= arr[i];
            }


            arr 
= arrNew;
        }


        arr[currItemsCount] 
= number;
        currItemsCount
++;
    }


    
/** *//**
     * 刪除位置在i的元素
     * 
@param removeIndex
     
*/

    
public void remove(int removeIndex) {
        
if (removeIndex < arr.length) {
            
if (removeIndex > currItemsCount) {
                
int[] arrNew = new int[arr.length - 1];
                
for (int j = 0; j < arrNew.length; j++{
                    arrNew[j] 
= arr[j];
                }


                arr 
= arrNew;
            }
 else {
                
int[] arrNew = new int[arr.length - 1];
                
for (int j = 0; j < removeIndex; j++{
                    arrNew[j] 
= arr[j];
                }


                
for (int j = removeIndex + 1; j < arr.length; j++{
                    arrNew[j 
- 1= arr[j];
                }

                currItemsCount
--;
                arr 
= arrNew;
            }

        }

    }


    
/** *//**
     * 取得添值部分的數組
     * 
@return
     
*/

    
public int[] getArr() {
        
int[] arrNew = new int[currItemsCount];

        
for (int i = 0; i < arrNew.length; i++{
            arrNew[i] 
= arr[i];
        }


        
return arrNew;
    }

    
    
/** *//**
     * 取得已排序的數組
     * 
@return
     
*/

    
public int[] getSortedArr(){
        
int[] arrSorted = getArr();
        insertSort(arrSorted);
        
return arrSorted;
    }


    
/** *//**
     * 進(jìn)行插入排序
     * 
@param arr
     
*/

    
private static void insertSort(int[] arr) {
        
int i, temp;
        
// 插入位置
        int insertPos;
        
for (i = 1; i < arr.length; i++{
            
// 當前需要進(jìn)入已排序隊列的項
            temp = arr[i];
            insertPos 
= i;

            
// 向右移動(dòng)
            while (0 < insertPos && arr[insertPos - 1>= temp) {
                arr[insertPos] 
= arr[insertPos - 1];
                
--insertPos;
            }


            
// 當前項該處于的位置
            arr[insertPos] = temp;
        }

    }


    
/** *//**
     * 顯示添值部分的數組
     *
     
*/

    
public void display() {
        System.out.print(
"現有元素有:");
        
for (int i = 0; i < currItemsCount; i++{
            System.out.print(arr[i] 
+ ",");
        }

        System.out.print(
"\n");
    }


    
/** *//**
     * 顯示數組的所有子元素,包括添值和未添值部分
     *
     
*/

    
public void displayAll() {
        System.out.print(
"所有元素有:");
        
for (int i = 0; i < arr.length; i++{
            System.out.print(arr[i] 
+ ",");
        }

        System.out.print(
"\n");
    }


    
/** *//**
     * 程序入口
     * 
@param args
     
*/

    
public static void main(String[] args) {
        DynamicArray dArray 
= new DynamicArray(12);

        dArray.add(
1);
        dArray.add(
2);
        dArray.add(
3);
        dArray.add(
4);
        dArray.add(
5);
        dArray.display();
        dArray.displayAll();

        dArray.add(
6);
        dArray.add(
7);
        dArray.add(
8);
        dArray.add(
9);
        dArray.add(
10);
        dArray.display();
        dArray.displayAll();

        dArray.add(
11);
        dArray.add(
12);
        dArray.add(
13);
        dArray.add(
14);
        dArray.add(
15);
        dArray.display();
        dArray.displayAll();

        dArray.remove(
3);
        dArray.display();
        dArray.displayAll();

        dArray.remove(
0);
        dArray.display();
        dArray.displayAll();

        dArray.remove(
10);
        dArray.display();
        dArray.displayAll();

        dArray.add(
2);        
        dArray.add(
3);
        dArray.add(
4);
        dArray.add(
3);
        dArray.add(
4);
        
        dArray.display();
        System.out.print(
"已排序數組元素為:");
        
int[] arr = dArray.getSortedArr();
        
for (int i = 0; i < arr.length; i++{
            System.out.print(arr[i] 
+ ",");
        }

        System.out.print(
"\n");
    }

}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java數組常見(jiàn)幾種排序方法
C# 寫(xiě)的 排列組合類(lèi)
java常用的7大排序算法匯總
面試中的排序算法總結
面試必備:冒泡,選擇,插入,希爾,歸并,快速排序大合集
面試官說(shuō),你會(huì )堆排序嗎?會(huì ),那好手寫(xiě)一個(gè)吧。
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久