Maison > développement back-end > Tutoriel C#.Net > Comment faire pivoter un tableau k fois en utilisant C# ?

Comment faire pivoter un tableau k fois en utilisant C# ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-12 14:49:09
avant
658 Les gens l'ont consulté

如何使用 C# 将数组旋转 k 次?

Étant donné un tableau et un nombre k, le problème indique que nous devons faire pivoter le tableau k fois.

Si le nombre donné est 3, le tableau doit être tourné 3 fois.

Créez une fonction reverse qui prend un tableau, une position de départ et une position de fin comme paramètres.

  • Dans la première étape, la méthode inverse est appelée de 0 à la longueur du tableau.

  • Dans la deuxième étape, la méthode inverse est appelée de 0 à k-1.

  • Dans la troisième étape, la méthode inverse est appelée de k+1 à la longueur du tableau.

Exemple

Démonstration

using System;
namespace ConsoleApplication{
   public class Arrays{
      public void ReverseArrayKTimes(int[] arr, int k){
         Reverse(arr, 0, arr.Length - 1);
         Reverse(arr, 0, k - 1);
         Reverse(arr, k, arr.Length - 1);
      }
      private void Reverse(int[] arr, int start, int end){
         while (start < end){
            int temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;
            start++;
            end--;
         }
      }
   }
   class Program{
      static void Main(string[] args){
         Arrays a = new Arrays();
         int[] arr = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
         a.ReverseArrayKTimes(arr, 3);
         for (int i = 0; i < arr.Length; i++){
            Console.WriteLine(arr[i]);
         }
         Console.ReadLine();
      }
   }
}
Copier après la connexion

Sortie

3 2 1 9 8 7 6 5 4
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!

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