Angenommen, ich habe ein Array A[]={8, 9, 11, 14, 16, 20};
, das ich nach einem anderen Array B[]={6, 5, 1, 2, 4, 3};
sortieren muss.Ein Array nach der Reihenfolge eines anderen Arrays sortieren
Sorted A
A[]={20, 16, 8, 9, 14, 11};
So wäre Wie A
sortiert werden in B
erzählt.
Erstes Element von B
ist das größte, also erstes Element von A
wird auch das größte sein. Drittes Element von B
kleinstem ist so drittes Element A
auch die kleinsten wird
Wenn B
so etwas wie {100, 84, 74, 51, 5, 1}
Absteigen sortiert waren Dann A
auch absteigend sortiert werden. Beispiele
:
1. wenn B = {12, 8, 14, 156, 2, 84}
, A
{11, 9, 14, 20, 8, 16}
2. wenn B = {2, 3, 45, 0, 7, 56}
wäre, A
{9, 11, 16, 8, 14, 20}
Sein sein würde, wenn ich ein paar Freunde haben unterschiedlichen Alters, und ich möchte ihnen etwas geben nach zu ihren Altern. Älteste Person wird die größte bekommen ... kleiner als er wird die kleinere bekommen ... und so weiter.
Ich habe ähnliche Fragen gesehen, aber sie sind nicht wie mein Problem.
Meine Idee ist, beide zuerst zu sortieren. Und dann neu anordnen.
Gibt es eine schnelle Lösung?
Genau diese Frage wurde hier vor ein paar Tagen, vielleicht vor einer Woche. Außer Ihren Array-Literalen geben Sie keinen Hinweis darauf, wie genau 'B' die Sortierreihenfolge von' A' angibt. Überprüfe sie bitte. – bipll
Ich habe keine Ahnung, wie 'B' die Reihenfolge von' A' bestimmt, bitte klären Sie Ihre Sortierkriterien. –
A 6 in B bedeutet, dass das sechste Element von A dort sein sollte, wo sich die 6 befindet. Die 6 steht am Anfang, also sollte das sechste Element von A an den Anfang gehen. – chris