Maison > développement back-end > C++ > Imprimer la rotation à gauche du tableau dans un programme C avec une complexité temporelle O(n) et une complexité spatiale O(1)

Imprimer la rotation à gauche du tableau dans un programme C avec une complexité temporelle O(n) et une complexité spatiale O(1)

PHPz
Libérer: 2023-09-10 15:45:07
avant
634 Les gens l'ont consulté

Étant donné un tableau de taille n et plusieurs valeurs entières, nous devons faire pivoter le tableau à partir de l'index k donné.

Nous voulons faire pivoter le tableau à partir de l'index k comme indiqué ci-dessous - p>

Imprimer la rotation à gauche du tableau dans un programme C avec une complexité temporelle O(n) et une complexité spatiale O(1)

Exemple

Input: arr[] = {1, 2, 3, 4, 5}
   K1 = 1
   K2 = 3
   K3 = 6
Output:
   2 3 4 5 1
   4 5 1 2 3
   2 3 4 5 1
Copier après la connexion

Algorithme

START
Step 1 -> Declare function void leftRotate(int arr[], int n, int k)
   Declare int cal = k% n
   Loop For int i=0 and i<n and i++
      Print arr[(cal+i)%n]
   End
Step 2 -> In main()
   Declare array a[]={ 1,2,3,4}
   Declare int size=sizeof(a)/sizeof(a[0])
   Declare int k=1
   Call leftRotate(a, size, k)
   Set k=2
   Call leftRotate(a, size, k)
   Set k=3
   leftRotate(a, size, k)
STOP
Copier après la connexion

Exemple

#include <bits/stdc++.h>
using namespace std;
void leftRotate(int arr[], int n, int k){
   int cal = k % n;
   for (int i = 0; i < n; i++)
      cout << (arr[(cal + i) % n]) << " ";
   cout << "</p><p>";
}
int main(){
   int a[] = { 1,2,3,4};
   int size = sizeof(a) / sizeof(a[0]);
   int k = 1;
   leftRotate(a, size, k);
   k = 2;
   leftRotate(a, size, k);
   k = 3;
   leftRotate(a, size, k);
   return 0;
}
Copier après la connexion

Sortie

Si nous exécutons le programme ci-dessus, il générera la sortie suivante

2 3 4 1
3 4 1 2
4 1 2 3
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal