Wie durchstreichen Sie Arrays, die mit einem anderen Index beginnen, während Sie immer noch das gesamte Array durchlaufen?

8

Angenommen, ich hätte ein Array mit 5 Strings. Wie kann ich eine for-Schleife bei Index 3 starten und herumgehen und bei Index 2 landen? Lassen Sie mich ein Beispiel geben.

%Vor%

Wäre es wünschenswert, bei Index 3 ("farout") bis zum Ende des Arrays ("awesome") zu beginnen, dann fortfahren, bei Index 0 durch Index 2 zu schleifen. Grundsätzlich ein Array an einem Punkt (außer Index 0) und trete immer noch auf jedes Element im Array.

    
dragonore 10.02.2015, 11:18
quelle

3 Antworten

14

Eine Möglichkeit besteht darin, das Array mit einem normalen Index zu durchlaufen und den Modulo-Operator mit Ihrem Offset zu verwenden, um einen Zeiger auf die richtige Stelle im Array zu bekommen:

%Vor%

Ihre Schleife ist also eine Standardschleife durch jedes Element. Sie nehmen die aktuelle Position plus Offset und erhalten den Rest aus der Division durch die Größe des Arrays. Bis Sie das Ende des Arrays erreichen, wird das genau so wie ich + Offset. Wenn Sie das Ende des Arrays erreichen, wird der Rest Null sein und von dort gehen.

Hier ist eine Geige .

    
James Waddington 10.02.2015, 11:25
quelle
5

Hier ist, was Sie brauchen:

%Vor%     
Kokizzu 10.02.2015 11:26
quelle
1
%Vor%     
Vítor Marques 10.02.2015 11:29
quelle

Tags und Links