目錄
解決方案的方法
範例
輸出
上述程式碼的解釋
結論
首頁 後端開發 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個元素。
  • 其次,我們反轉剩下的元素。
  • 第三,我們反轉整個陣列。

透過應用這三個步驟,我們可以得到旋轉後的陣列。

解決方案的方法

在這個問題中,首先,我們要寫一個反轉元素的函數;現在我們按照上述步驟進行操作。

範例

#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
登入後複製

上述程式碼的解釋

在上述方法中,我們首先建立了一個反轉技術,它將接受三個參數,即陣列、起始索引和結束索引,並將我們的陣列從起始位置到結束位置反轉。由於我們之前已經開發了演算法,我們將使用這個函數來應用該演算法。首先,我們反轉前d個元素。然後,我們反轉剩餘的元素,最後,我們反轉整個陣列。結果是,我們的陣列被旋轉了d個位置。在旋轉函數中,我們將d設定為d % n。這是因為如果我們旋轉數組的前n個元素,得到的答案會與之前相同,所以我們對d取模n。

結論

在本文中,我們解決了一個應用反轉演算法進行陣列旋轉的問題。我們也學習了解決這個問題的C 程序和完整的(正常)方法。我們可以用其他語言如C、Java、Python和其他語言來寫相同的程式。希望本文對您有幫助。

以上是使用C++編寫的數組旋轉的逆轉演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

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立體旋轉特效作為一種流行的前端框架,Vue.js在開發動態網頁和應用程式中扮演著重要的角色。它提供了一種直覺、高效的方式來建立互動式介面,並且易於整合和擴展。本文將介紹如何使用Vue.js實作一個令人驚嘆的3D立體旋轉特效,並提供具體的程式碼範例。在開始之前,請確保您已經安裝了Vue.js,並且對Vue.js的基本用法有一定的了解。如果您還

使用C++編寫程式碼,找到第N個非平方數 使用C++編寫程式碼,找到第N個非平方數 Aug 30, 2023 pm 10:41 PM

我們都知道不是任何數字的平方的數字,如2、3、5、7、8等。非平方數有N個,不可能知道每個數字。因此,在本文中,我們將解釋有關無平方數或非平方數的所有內容,以及在C++中尋找第N個非平方數的方法。第N個非平方數如果一個數是整數的平方,則該數稱為完全平方數。完全平方數的一些例子是-1issquareof14issquareof29issquareof316issquareof425issquareof5如果一個數不是任何整數的平方,則該數稱為非平方數。例如,前15個非平方數是-2,3,5,6,

CSS實作載入動畫效果的技巧和方法 CSS實作載入動畫效果的技巧和方法 Oct 19, 2023 am 10:42 AM

CSS實現載入動畫效果的技巧和方法隨著網路的發展,載入速度成為了使用者體驗的重要指標之一。為了提升頁面載入時的使用者體驗,我們通常會使用載入動畫效果來增加頁面的互動性和吸引力。而CSS作為前端開發中的重要技術之一,提供了許多實作載入動畫效果的技巧和方法。本文將介紹幾種常見的CSS載入動畫效果的實作技巧和方法,並提供相應的程式碼範例。旋轉載入動畫旋轉載入動畫是一種

如何使用Python對圖片進行縮放和旋轉 如何使用Python對圖片進行縮放和旋轉 Aug 17, 2023 pm 10:52 PM

如何使用Python對圖片進行縮放和旋轉導語:如今,我們經常使用圖片來豐富我們的網頁設計、行動應用程式、社群媒體等各種場景。在圖片處理中,縮放和旋轉是兩個常見的需求。 Python作為一種腳本語言和強大的圖像處理工具,提供了許多程式庫和方法來處理這些任務。本文將介紹如何使用Python對圖片進行縮放和旋轉,並提供程式碼範例。一、縮放圖片縮放圖片是調整影像大小的基本操作之

如何利用Layui實現圖片裁切與旋轉功能 如何利用Layui實現圖片裁切與旋轉功能 Oct 26, 2023 am 09:39 AM

如何利用Layui實現圖片裁剪和旋轉功能一、背景介紹在Web開發中,經常會遇到需要對圖片進行裁剪和旋轉的場景,例如頭像上傳、圖片編輯等。 Layui是一款輕量級的前端框架,提供了豐富的UI元件和友善的API,特別適合快速建立網頁應用。本文將介紹如何利用Layui實作圖片裁切和旋轉功能,並提供具體的程式碼範例。二、環境準備在開始前,需要確認以下環境已經準備就緒:

背包英雄怎麼旋轉 背包英雄怎麼旋轉 Mar 15, 2024 pm 03:30 PM

玩家在背包英雄中進行遊戲時可以旋轉視野,有很多玩家不知道背包英雄怎麼旋轉,玩家點擊主介面右下角的設定圖示找到鏡頭控制,打開自動視角調整選項即可進行調整。背包英雄怎麼旋轉1、進入遊戲後,點選主介面右下角的「設定」圖示。 2、在設定介面中找到“鏡頭控制”,然後可以看到有一個“自動視角調整選項”。 3.將這個開關打開即可實現自動旋轉視野了,當你在戰鬥或操作複雜時可以開啟此功能方便觀察戰局。 4.如果想要在移動的時候也進行旋轉操作的話也是可以的,只需要在設定了裡面找到陀螺儀並勾選「移動時切換為手動瞄準」就可以

css能讓文字旋轉麼 css能讓文字旋轉麼 Feb 02, 2023 am 10:01 AM

css能讓文字旋轉,其實現文字旋轉的方法:1、新建一個html檔案;2、使用span標籤建立一行文字;3、為span標籤新增一個class屬性,用於樣式的定義;4、在css標籤內,透過class定義span標籤的樣式,設定它為區塊級元素;5、使用transform屬性,利用rotate設定span旋轉指定角度即可。

See all articles