Heim > Backend-Entwicklung > C++ > Hauptteil

Was ist das Binärarray nach M-Bereichsumschaltvorgängen?

王林
Freigeben: 2023-09-04 11:49:06
nach vorne
1376 Leute haben es durchsucht

Was ist das Binärarray nach M-Bereichsumschaltvorgängen?

Hier werden wir ein Problem sehen. Wir haben ein binäres Array. Es hat n Elemente. Jedes Element ist entweder 0 oder 1. Anfangs sind alle Elemente 0. Jetzt stellen wir den M-Befehl bereit. Jeder Befehl enthält einen Start- und einen Endindex. Befehl(a, b) bedeutet also, dass der Befehl vom Element an Position a auf das Element an Position b angewendet wird. Dieser Befehl schaltet den Wert um. Es wechselt also vom ath-Index zum bth-Index. Die Frage ist einfach. Untersuchen Sie Algorithmen, um sich ein Bild zu machen.

Algorithmus

toggleCommand(arr, a, b)

Begin
   for each element e from index a to b, do
      toggle the e and place into arr at its position.
   done
End
Nach dem Login kopieren

Beispiel

#include <iostream>
using namespace std;
void toggleCommand(int arr[], int a, int b){
   for(int i = a; i <= b; i++){
      arr[i] ^= 1; //toggle each bit in range a to b
   }
}
void display(int arr[], int n){
   for(int i = 0; i<n; i++){
      cout << arr[i] << " ";
   }
   cout << endl;
}
int main() {
   int arr[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
   int n = sizeof(arr)/sizeof(arr[0]);
   display(arr, n);
   toggleCommand(arr, 3, 6);
   toggleCommand(arr, 8, 10);
   toggleCommand(arr, 2, 7);
   display(arr, n);
}
Nach dem Login kopieren

Ausgabe

0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 1 1 1 0
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist das Binärarray nach M-Bereichsumschaltvorgängen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!