Algorithme d'inversion pour la rotation des tableaux écrit en C++
Dans le problème donné, nous avons un tableau et nous devons faire pivoter le tableau de d éléments en utilisant un algorithme d'inversion comme −
Input : arr[] = [1, 2, 3, 4, 5, 6, 7], d = 2 Output : arr[] = [3, 4, 5, 6, 7, 1, 2] Explanation : As you can see we have to rotate this array by d = 2 but our main task is to achieve this by using a reversal technique.
Nous avons fait quelques calculs sur la rotation du tableau avec la technique d'inversion et Conclusion :
- Tout d’abord, nous inversons les d premiers éléments du tableau.
- Deuxièmement, nous inversons les éléments restants.
- Troisièmement, nous inversons tout le tableau.
En appliquant ces trois étapes, nous pouvons obtenir le tableau pivoté.
Méthode de solution
Dans ce problème, nous allons d'abord écrire une fonction qui inverse les éléments ;
Exemple
#include <bits/stdc++.h> using namespace std; void reverseArray(int arr[], int start, int end) { // our reversal algorithm while (start < end) { // if start becomes equal to end we break the loop int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } return ; } void Rotate(int arr[], int d, int n) { // rotation function if (d == 0) // no rotation required return; d = d % n; // when d becomes equal to n so our array comes to its original form reverseArray(arr, 0, d - 1); // reversing first d elements reverseArray(arr, d, n - 1); // reversing the remaining elements reverseArray(arr, 0, n - 1); // reversing the whole array return ; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7 }; // given array int n = sizeof(arr) / sizeof(arr[0]); // size of our array int d = 2; Rotate(arr, d, n); for(int i = 0; i < n; i++) // printing the array cout << arr[i] << " "; cout << "\n"; return 0; }
Output
3 4 5 6 7 1 2
Explication du code ci-dessus
Dans la méthode ci-dessus, nous créons d'abord une technique d'inversion qui acceptera trois paramètres, à savoir le tableau, l'index de début et l'index de fin, et nous convertira. Le tableau est inversé par rapport au de la position de départ à la position finale. Puisque nous avons déjà développé l'algorithme, nous utiliserons cette fonction pour appliquer l'algorithme. Tout d’abord, nous inversons les d premiers éléments. Ensuite, nous inversons les éléments restants et enfin, nous inversons l’ensemble du tableau. En conséquence, notre tableau subit une rotation de d positions. Dans la fonction de rotation, nous définissons d sur d % n. En effet, si nous faisons pivoter les n premiers éléments du tableau, nous obtiendrons la même réponse que précédemment, nous prenons donc d modulo n.
Conclusion
Dans cet article, nous avons résolu un problème d'application de l'algorithme d'inversion pour la rotation des tableaux. Nous avons également appris un programme C++ et la manière complète (normale) de résoudre ce problème. Nous pouvons écrire le même programme dans d'autres langages comme C, Java, Python et d'autres langages. J'espère que cet article vous sera utile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque nous utilisons le logiciel Word Office pour le traitement de documents, nous devons souvent insérer des images et d'autres éléments dans le document. Cependant, afin d'obtenir une belle mise en page, nous devons également effectuer une mise en page spéciale sur les images, parmi lesquelles un traitement de rotation. le traitement de composition le plus élémentaire, cependant, pour certains nouveaux arrivants sur le lieu de travail qui viennent d'entrer en contact avec le logiciel Word Office, ils ne seront peut-être pas en mesure de traiter des images dans des documents Word. Ci-dessous, nous partagerons comment faire pivoter des images dans Word. Nous espérons que cela vous sera utile et inspirant. 1. Tout d'abord, nous ouvrons un document Word, puis cliquons sur le bouton Insérer une image dans la barre de menu pour insérer une image aléatoire sur l'ordinateur afin de faciliter notre fonctionnement et notre démonstration. 2. Si nous voulons faire pivoter l’image, nous devons alors

Comment utiliser Vue pour obtenir des effets de rotation tridimensionnels 3D En tant que framework frontal populaire, Vue.js joue un rôle important dans le développement de pages Web et d'applications dynamiques. Il fournit un moyen intuitif et efficace de créer des interfaces interactives et est facile à intégrer et à étendre. Cet article expliquera comment utiliser Vue.js pour implémenter un superbe effet de rotation stéréoscopique 3D et fournira des exemples de code spécifiques. Avant de commencer, assurez-vous que Vue.js est installé et que vous avez une certaine compréhension de l'utilisation de base de Vue.js. Si tu es toujours

Nous connaissons tous des nombres qui ne sont le carré d’aucun nombre, comme 2, 3, 5, 7, 8, etc. Il existe N nombres non carrés et il est impossible de connaître tous les nombres. Ainsi, dans cet article, nous expliquerons tout sur les nombres sans carrés ou non carrés et les moyens de trouver le Nième nombre non carré en C++. Nième nombre non carré Si un nombre est le carré d'un entier, alors ce nombre est appelé un carré parfait. Quelques exemples de nombres carrés parfaits sont -1iscarréde14iscarréde29iscarréde316iscarréde425iscarréde5 Si un nombre n'est le carré d'aucun entier, alors le nombre est appelé non carré. Par exemple, les 15 premiers nombres non carrés sont -2,3,5,6,

Techniques CSS et méthodes de mise en œuvre des effets d'animation de chargement Avec le développement d'Internet, la vitesse de chargement est devenue l'un des indicateurs importants de l'expérience utilisateur. Afin d'améliorer l'expérience utilisateur lors du chargement de la page, nous utilisons généralement des effets d'animation de chargement pour augmenter l'interactivité et l'attractivité de la page. En tant que l'une des technologies importantes dans le développement front-end, CSS fournit de nombreuses techniques et méthodes pour obtenir des effets d'animation de chargement. Cet article présentera plusieurs techniques et méthodes courantes pour implémenter des effets d'animation de chargement CSS et fournira des exemples de code correspondants. Animation de chargement par rotation L'animation de chargement par rotation est un

Comment utiliser Python pour redimensionner et faire pivoter des images Introduction : Aujourd'hui, nous utilisons souvent des images pour enrichir notre conception Web, nos applications mobiles, nos réseaux sociaux et d'autres scénarios. Dans le traitement d’images, la mise à l’échelle et la rotation sont deux exigences courantes. Python, en tant que langage de script et puissant outil de traitement d'images, fournit de nombreuses bibliothèques et méthodes pour gérer ces tâches. Cet article explique comment utiliser Python pour redimensionner et faire pivoter des images, et fournit des exemples de code. 1. Zoom sur les images Le zoom sur les images est l'une des opérations de base pour ajuster la taille de l'image.

Comment utiliser Layui pour implémenter des fonctions de recadrage et de rotation d'images 1. Introduction au contexte Dans le développement Web, nous rencontrons souvent des scénarios qui nécessitent de recadrer et de faire pivoter des images, tels que le téléchargement d'avatars, l'édition d'images, etc. Layui est un framework frontal léger qui fournit des composants d'interface utilisateur riches et des API conviviales, et est particulièrement adapté à la création rapide d'applications Web. Cet article expliquera comment utiliser Layui pour implémenter des fonctions de recadrage et de rotation d'images, et fournira des exemples de code spécifiques. 2. Préparation de l'environnement Avant de commencer, vous devez confirmer que l'environnement suivant est prêt :

Les joueurs peuvent faire pivoter leur champ de vision lorsqu'ils jouent à des jeux dans Backpack Hero. De nombreux joueurs ne savent pas comment faire pivoter Backpack Hero. Les joueurs peuvent cliquer sur l'icône des paramètres dans le coin inférieur droit de l'interface principale pour trouver le contrôle de l'objectif et l'activer. l'option de réglage automatique de la perspective pour l'ajuster. Comment faire pivoter Backpack Hero 1. Après être entré dans le jeu, cliquez sur l'icône "Paramètres" dans le coin inférieur droit de l'interface principale. 2. Recherchez « Contrôle de l'objectif » dans l'interface des paramètres, puis vous pourrez voir qu'il existe une « Option de réglage automatique de l'angle ». 3. Activez ce commutateur pour réaliser une rotation automatique du champ de vision. Lorsque vous êtes en combat ou que vous effectuez des opérations complexes, vous pouvez activer cette fonction pour faciliter l'observation de la situation de combat. 4. Si vous souhaitez effectuer des opérations de rotation tout en vous déplaçant, vous pouvez également le faire. Recherchez simplement le gyroscope dans les paramètres et cochez « Passer à la visée manuelle lors du déplacement ».

CSS peut faire pivoter le texte, et la méthode pour réaliser la rotation du texte est : 1. Créez un nouveau fichier HTML ; 2. Utilisez la balise span pour créer une ligne de texte ; 3. Ajoutez un attribut de classe à la balise span pour la définition du style ; . Dans la balise css Inside, définissez le style de la balise span via la classe et définissez-la comme élément de niveau bloc. 5. Utilisez l'attribut transform et utilisez rotate pour définir la rotation du span à un angle spécifié.
