目次
解決方法
出力
上記のコードの説明
結論
ホームページ バックエンド開発 C++ C++ で書かれた配列回転の反転アルゴリズム

C++ で書かれた配列回転の反転アルゴリズム

Aug 28, 2023 pm 11:13 PM
回転させる Cプログラミング 反転アルゴリズム配列

C++ で書かれた配列回転の反転アルゴリズム

指定された問題では、配列があり、反転アルゴリズムを使用して配列を d 要素ずつ回転する必要があります。たとえば、 -

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.
ログイン後にコピー

配列があります。回転はいくつかの反転手法を使用して計算され、次の結論に達しました。

  • まず、配列の最初の d 要素を反転します。
  • 2 番目に、残りの要素を反転します。
  • 3 番目に、配列全体を反転します。

これらの 3 つの手順を適用すると、回転された配列を取得できます。

解決方法

この問題では、まず要素を反転する関数を作成し、上記の手順に従います。

#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;
}
ログイン後にコピー

出力

3 4 5 6 7 1 2
ログイン後にコピー

上記のコードの説明

上記のメソッドでは、まず 3 つのパラメーターを受け入れる反転手法を作成します。つまり、配列、開始インデックスと終了インデックスであり、配列を開始位置から終了位置まで反転します。アルゴリズムは以前に開発したので、この関数を使用してアルゴリズムを適用します。まず、最初の d 要素を反転します。次に、残りの要素を反転し、最後に配列全体を反転します。その結果、配列は位置 d だけ回転されます。回転関数では、d を d % n に設定します。これは、配列の最初の n 要素を回転すると前と同じ答えが得られるため、d を法 n とします。

結論

この記事では、配列の回転に反転アルゴリズムを適用する問題を解決しました。また、C プログラムと、この問題を解決するための完全な (通常の) 方法も学びました。同じプログラムを C、Java、Python などの他の言語で書くことができます。この記事がお役に立てば幸いです。

以上がC++ で書かれた配列回転の反転アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Word の画像を回転する方法 Word の画像を回転する方法 Mar 19, 2024 pm 06:16 PM

オフィスソフトのWordを使って文書を作成する場合、文書内に写真などを挿入することが多いですが、美しいレイアウトを実現するためには、写真に特殊なレイアウトを施す必要があり、その中に回転処理などがあります。ただし、職場で Word オフィス ソフトウェアに触れたばかりの新参者の中には、Word 文書内の画像を処理できない場合があります。以下では、Word で画像を回転する方法を説明します。 1. まず、Word 文書を開き、メニュー バーの [画像の挿入] ボタンをクリックして、操作とデモンストレーションを容易にするためにコンピュータにランダムな画像を挿入します。 2. 画像を回転したい場合は、次の操作を行う必要があります。

Vue を使用して 3D 立体回転効果を実現する方法 Vue を使用して 3D 立体回転効果を実現する方法 Sep 19, 2023 am 08:42 AM

Vue を使用して 3D 3 次元回転効果を実現する方法 人気のあるフロントエンド フレームワークとして、Vue.js は動的な Web ページやアプリケーションの開発において重要な役割を果たします。インタラクティブなインターフェイスを構築する直感的かつ効率的な方法を提供し、統合と拡張が簡単です。この記事では、Vue.js を使用して見事な 3D 立体回転効果を実装する方法を紹介し、具体的なコード例を示します。始める前に、Vue.js がインストールされていること、および Vue.js の基本的な使用法をある程度理解していることを確認してください。まだなら

C++ を使用して N 番目の非平方数を見つけるコードを作成する C++ を使用して N 番目の非平方数を見つけるコードを作成する Aug 30, 2023 pm 10:41 PM

私たちは皆、2、3、5、7、8 など、数の 2 乗ではない数字を知っています。非正方形の数は N 個あり、すべての数を知ることは不可能です。そこで、この記事では、平方なしまたは非平方数と、C++ で N 番目の非平方数を見つける方法についてすべて説明します。 N 番目の非平方数 数値が整数の 2 乗である場合、その数値は完全平方と呼ばれます。完全平方数の例としては、-1issquareof14issquareof29issquareof316issquareof425issquareof5 などがあります。数値がどの整数の平方でもない場合、その数値は非正方形と呼ばれます。たとえば、最初の 15 個の非平方数は -2、3、5、6 です。

CSS を使用して読み込みアニメーション効果を実装するためのヒントと方法 CSS を使用して読み込みアニメーション効果を実装するためのヒントと方法 Oct 19, 2023 am 10:42 AM

CSS テクニックとローディング アニメーション効果を実装する方法 インターネットの発展に伴い、ローディング速度はユーザー エクスペリエンスの重要な指標の 1 つになりました。ページの読み込み時のユーザー エクスペリエンスを向上させるために、通常は読み込みアニメーション効果を使用して、ページのインタラクティブ性と魅力を高めます。フロントエンド開発における重要なテクノロジーの 1 つである CSS は、読み込みアニメーション効果を実現するための多くのテクニックとメソッドを提供します。この記事では、CSS 読み込みアニメーション効果を実装するためのいくつかの一般的なテクニックと方法を紹介し、対応するコード例を示します。スピンローディングアニメーション スピンローディングアニメーションは

Python を使用して画像を拡大縮小および回転する方法 Python を使用して画像を拡大縮小および回転する方法 Aug 17, 2023 pm 10:52 PM

Python を使用して画像を拡大縮小および回転する方法 はじめに: 現在、私たちは Web デザイン、モバイル アプリケーション、ソーシャル メディア、その他のシナリオを豊かにするために画像をよく使用しています。画像処理では、拡大縮小と回転が 2 つの一般的な要件です。 Python は、スクリプト言語および強力な画像処理ツールとして、これらのタスクを処理するための多くのライブラリとメソッドを提供します。この記事では、Python を使用して画像を拡大縮小したり回転したりする方法とコード例を紹介します。 1. 画像のズーム 画像のズームは、画像サイズを調整する基本操作の 1 つです。

Layui を使用して画像のトリミングと回転機能を実装する方法 Layui を使用して画像のトリミングと回転機能を実装する方法 Oct 26, 2023 am 09:39 AM

Layui を使用して画像のトリミングと回転機能を実装する方法 1. 背景の紹介 Web 開発では、アバターのアップロードや画像編集など、画像のトリミングと回転が必要なシナリオによく遭遇します。 Layui は、豊富な UI コンポーネントと使いやすい API を提供する軽量のフロントエンド フレームワークで、Web アプリケーションを迅速に構築するのに特に適しています。この記事では、Layui を使用して画像のトリミングと回転機能を実装する方法を紹介し、具体的なコード例を示します。 2. 環境の準備 開始する前に、次の環境が準備されていることを確認する必要があります。

バックパックヒーローの回転方法 バックパックヒーローの回転方法 Mar 15, 2024 pm 03:30 PM

バックパック ヒーローでゲームをプレイするときに、プレーヤーは視野を回転できます。多くのプレーヤーは、バックパック ヒーローを回転する方法を知りません。プレーヤーは、メイン インターフェイスの右下隅にある設定アイコンをクリックして、レンズ コントロールを見つけ、オンにできます。自動遠近調整オプションを使用して調整します。バックパックヒーローの回転方法 1. ゲームに入ったら、メインインターフェイスの右下隅にある「設定」アイコンをクリックします。 2. 設定インターフェースで「レンズコントロール」を見つけると、「自動角度調整オプション」があることがわかります。 3. このスイッチをオンにすると、視野の自動回転が実現し、戦闘時や複雑な操作を行う際に、この機能をオンにすると戦況の把握が容易になります。 4. 移動中に回転操作を実行したい場合は、設定でジャイロスコープを見つけて「移動時に手動照準に切り替える」にチェックを入れるだけで実行できます。

CSSで文字を回転させることはできるのでしょうか? CSSで文字を回転させることはできるのでしょうか? Feb 02, 2023 am 10:01 AM

CSS ではテキストを回転できます。テキストの回転を実現する方法は、 1. 新しい HTML ファイルを作成する; 2. spam タグを使用してテキスト行を作成する; 3. スタイル定義の span タグに class 属性を追加する; 4. css タグ Inside で、クラスを介してspanタグのスタイルを定義し、ブロックレベルの要素として設定します; 5.transform属性を使用し、rotateを使用してspanの回転を指定した角度に設定します。

See all articles