Rumah > pembangunan bahagian belakang > Tutorial C#.Net > Bagaimana untuk memutarkan array k kali menggunakan C#?

Bagaimana untuk memutarkan array k kali menggunakan C#?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2023-09-12 14:49:09
ke hadapan
641 orang telah melayarinya

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

Diberi tatasusunan dan nombor k, masalahnya menyatakan bahawa kita perlu memutar tatasusunan k kali.

Jika nombor yang diberi ialah 3, tatasusunan mesti diputar 3 kali.

Buat terbalik fungsi yang mengambil tatasusunan, kedudukan permulaan dan kedudukan penamat sebagai parameter.

  • Dalam langkah pertama, kaedah terbalik dipanggil dari 0 kepada panjang tatasusunan.

  • Dalam langkah kedua, kaedah terbalik dipanggil dari 0 hingga k-1.

  • Dalam langkah ketiga, kaedah terbalik dipanggil dari k+1 kepada panjang tatasusunan.

Contoh

Demonstrasi

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();
      }
   }
}
Salin selepas log masuk

Output

3 2 1 9 8 7 6 5 4
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk memutarkan array k kali menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan