簡體   English   中英

如何連接兩個不同的陣列?

[英]How to connect two different arrays?

如果我有一個名稱數組和一個圈速時間數組,我將如何鏈接這兩個數組,以便我可以對時間進行排序並仍然保留關聯的名稱? 這是兩個數組的樣子:

String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};
    int[] times = { 341, 273, 278, 329, 445 };

到目前為止,我運行了一個選擇排序算法,以使最短的時間達到最高的時間,但是我不知道如何使paul保持與341的連接。

我不想連接兩個數組,我希望能夠對times數組進行排序,然后調用與特定時間關聯的名稱。

將時間數組和元素在兩個數組中的交換位置排序在一起,這樣,一旦發生交換,它將保持times和names數組之間的鏈接,這是程序,我按降序進行了排序

public static void main(String[] args){
        String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};
        int[] times = { 341, 273, 278, 329, 445 };


        for(int outerIndex = 0; outerIndex < times.length; outerIndex++){
            for(int innerIndex = outerIndex+1;  innerIndex < times.length; innerIndex++){
                if(times[outerIndex]<times[innerIndex]){
                    swap(outerIndex, innerIndex, names, times);
                }
            }
        }
    }

在這里,我交換兩個數組中的元素位置:

public static void swap(int outerIndex, int innerIndex, String[] names, int[] times){
        int tempTime;
        String tempName;

        tempTime = times[outerIndex];
        tempName = names[outerIndex];

        times[outerIndex] = times[innerIndex];
        names[outerIndex] = names[innerIndex];

        times[innerIndex] = tempTime;
        names[innerIndex] = tempName;
    }

輸入:

String []名稱= {“ Paul”,“ Dan”,“ Hayden”,“ Sam”,“ Pauline”}};

int []次= {341,273,278,329,445};

輸出:

String []名稱= {“ Pauline”,“ Paul”,“ Sam”,“ Hayden”,“ Dan”};

int []次= {445,341,329,278,273};

請用數組室排序。 例如

names[0] = "Paul"
times [0] = 341

這樣的東西

名稱時間數組保持原樣,並使用第三個包含其他兩個索引的數組:

 String[] names = { "Paul", "Dan", "Hayden", "Sam", "Pauline"};
    int[] times = { 341, 273, 278, 329, 445 };
    int[] index = { 0, 1, 2, 3, 4};

名稱時間運行排序算法(取決於要排序的方式)。 運行算法時,例如,通過索引數組訪問times數組:

times[index[x]]; // where x is whatever index you are on during your sort

當您發現需要交換兩個項目時,請對索引數組執行交換操作:

swap(index[0], index[1]);

排序算法完成后, 名稱時間數組將通過其數組位置保持關聯,但是如果您通過索引數組訪問它們,則將按排序順序對其進行訪問。

附言:我為你做功課很臟:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM