目錄
讓我們來看看這個問題的各種輸入輸出場景:
下面程式中使用的方法如下:
範例
輸出
首頁 後端開發 C++ 重新排列一個數組,使得 arr = i,使用 C++

重新排列一個數組,使得 arr = i,使用 C++

Sep 13, 2023 am 11:25 AM

重新排列一个数组,使得 arr = i,使用 C++

我們有一個正整數型別的數組,假設為arr[],其大小可以任意給定,數組中的元素應該大於0但小於數組的大小。任務是將數組重新排列,使得如果arr[i]等於'i',則'i'在數組中存在,否則將arr[i]元素設為-1,並列印最終結果。

讓我們來看看這個問題的各種輸入輸出場景:

輸入 − int arr[] = {0, 8, 1, 5, 4, 3 , 2, 9 }

輸出 − 重新排列後的陣列為:0 1 2 3 4 5 -1 -1

解釋 −我們有一個大小為8的整數數組,數組中的所有元素都小於8。現在,我們將重新排列數組,即

arr[0] = 0(present in an array)
arr[1] = 1(present in an array)
arr[2] = 2(present in an array)
arr[3] = 3(present in an array)
arr[4] = 4(present in an array)
arr[5] = 5(present in an array)
arr[6] = -1(NOT present in an array)
arr[7] = -1(NOT present in an array)
登入後複製

輸入− int arr[] = {1, 2, 6, 9, 10}

#輸出− 重新排列數組,使得arr[i] = i 是:-1 1 2 -1 -1

解釋− 我們得到一個大小為5 的整數數組,並且數組中的所有元素值小於大於5。現在,我們將重新排列數組,即

arr[0] = -1(NOT present in an array)
arr[1] = 1(present in an array)
arr[2] = 2(present in an array)
arr[3] = -1(NOT present in an array)
arr[4] = -1(NOT present in an array)
登入後複製

下面程式中使用的方法如下:

  • 輸入整數類型的數組,並計算數組的大小。

  • 在排序前列印數組,並呼叫函數Rearranging(arr, size)

  • 在函數Rearranging(arr, size)內部

    • 宣告一個整數類型變量,假設為ptr

    • 從i到0開始循環,直到i小於size。在循環內部,從j到0開始另一個循環,直到j小於size。

    • 在迴圈內部,檢查如果arr[j] = i,則設定ptr = arr[j],arr[j] = arr[i],arr[i] = ptr並且跳出循環。

    • 從i到size開始循環。在循環內部,檢查如果arr[i]! = i,則將arr[i]設為-1。

  • 在重新排列陣列值之後列印陣列。

範例

#include <iostream>
using namespace std;
void Rearranging(int arr[], int size){
   int ptr;
   for(int i = 0; i < size; i++){
      for(int j = 0; j < size; j++){
         if(arr[j] == i){
            ptr = arr[j];
            arr[j] = arr[i];
            arr[i] = ptr;
            break;
         }
      }
   }
   for(int i = 0; i < size; i++){
      if(arr[i] != i){
         arr[i] = -1;
      }
   }
}
int main(){
   int arr[] = {0, 8, 1, 5, 4, 3, 2, 9 };
   int size = sizeof(arr) / sizeof(arr[0]);
   //calling the function to rearrange an array such that arr[i] = i
   Rearranging(arr, size);
   //Printing the array
   cout<<"Rearrangement of an array such that arr[i] = i is: ";
   for(int i = 0; i < size; i++){
      cout << arr[i] << " ";
   }
}
登入後複製

輸出

如果我們執行上面的程式碼,它將產生以下輸出

Rearrangement of an array such that arr[i] = i is: 0 1 2 3 4 5 -1 -1
登入後複製
#

以上是重新排列一個數組,使得 arr = i,使用 C++的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 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)

c語言函數格式字母大小寫轉換步驟 c語言函數格式字母大小寫轉換步驟 Mar 03, 2025 pm 05:53 PM

c語言函數格式字母大小寫轉換步驟

c語言函數返回值的類型有哪些?返回值是由什麼決定的? c語言函數返回值的類型有哪些?返回值是由什麼決定的? Mar 03, 2025 pm 05:52 PM

c語言函數返回值的類型有哪些?返回值是由什麼決定的?

Gulc:從頭開始建造的C庫 Gulc:從頭開始建造的C庫 Mar 03, 2025 pm 05:46 PM

Gulc:從頭開始建造的C庫

c語言函數的定義和調用規則是什麼 c語言函數的定義和調用規則是什麼 Mar 03, 2025 pm 05:53 PM

c語言函數的定義和調用規則是什麼

C標準模板庫(STL)如何工作? C標準模板庫(STL)如何工作? Mar 12, 2025 pm 04:50 PM

C標準模板庫(STL)如何工作?

distinct用法和短語分享 distinct用法和短語分享 Mar 03, 2025 pm 05:51 PM

distinct用法和短語分享

c語言函數返回值在內存保存在哪裡? c語言函數返回值在內存保存在哪裡? Mar 03, 2025 pm 05:51 PM

c語言函數返回值在內存保存在哪裡?

如何有效地使用STL(排序,查找,轉換等)的算法? 如何有效地使用STL(排序,查找,轉換等)的算法? Mar 12, 2025 pm 04:52 PM

如何有效地使用STL(排序,查找,轉換等)的算法?

See all articles