繁体   English   中英

如何在适合其他值的二维数组中对值进行排序?

[英]How to sort values in a two dimensional array suitable to the other values?

public class Spieler
{
    public Magier Henri = new Magier ("Magier Henri");    
    public Krieger Christian = new Krieger ("Krieger Christian");   
    public Supporter Judith = new Supporter ("Suppporter Judith");
    public Schuetze Lukas = new Schuetze ("Schuetze Lukas");
    public Magier Nick = new Magier ("Magier Nick");    
    public Krieger Anna = new Krieger ("Krieger Anna");   
    public Supporter Neele = new Supporter ("Suppporter Neele");
    public Schuetze Christoph = new Schuetze ("Schuetze Christoph");   
    public int i;
    public int besten5;
    public int bestPlayerEU;
    public int[][] kandidat = new int[8][2]; 
    int t;

    public void fuelleArray()
    {
        kandidat[0][0] = Henri.getGesamtPunkte();
        kandidat[0][1] = 1;
        kandidat[1][0] = Christian.getGesamtPunkte();
        kandidat[1][1] = 2;
        kandidat[2][0] = Judith.getGesamtPunkte();
        kandidat[2][1] = 3;
        kandidat[3][0] = Lukas.getGesamtPunkte();
        kandidat[3][1] = 4;
        kandidat[4][0] = Nick.getGesamtPunkte();
        kandidat[4][1] = 5;
        kandidat[5][0] = Anna.getGesamtPunkte();
        kandidat[5][1] = 6;
        kandidat[6][0] = Neele.getGesamtPunkte();
        kandidat[6][1] = 7;
        kandidat[7][0] = Christoph.getGesamtPunkte();
        kandidat[7][1] = 8;
    }

    public int[][] sort()
    {
        fuelleArray();
        int temp = 0;
        for (int i = 0; i < kandidat.length; i++)
        {
            for(int j = 1; j < kandidat.length-i; j++)
            {
                if(kandidat[j][t] < kandidat[j-1][t])
                {
                    temp = kandidat [j-1][t];
                    kandidat[j-1][t] = kandidat [j][t];
                    kandidat[j][t] = temp;
                }
            }
        } 
        return kandidat;
    }
}

所以在这里,我得到的是带有随机值排序的Array的左侧,但我也希望二维数组右侧的值适合于字符。 所以我想让kandidat “ Henri”仍然是值1 ,“ Christian” = 2 ,“ Judith” = 3 ,“ Lukas” = 4 ,依此类推。 有人可以解释或编写代码,以便数组右侧的数字移动到适合于字符/ kandidat的字符吗?

因此,当数组开始时如下所示:

    0    1 
0   26   1
1   45   2
2   37   3
3   33   4
4   27   5
5   29   6
6   41   7
7   49   8

最后应该看起来像这样:

     0    1 
0   26    1
1   27    5
2   29    6
3   33    4
4   37    3
5   41    7
6   45    2
7   49    8

如果我对它的理解正确,那么您想交换成对的“ kandidate” +数字,将它们配对在一起。 您是否尝试过以下方法:

int[] temp = kandidat [j-1];
kandidat[j-1] = kandidat [j];
kandidat[j] = temp;

这将对(kanditate[j][0], kandidate[j][1])与对(kanditate[j-1][0], kandidate[j-1][1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM