<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 按順序重新排列數組-最小,最大,第二個最小,第二個最大.. > 原文: [https://www.geeksforgeeks.org/rearrange-array-order-smallest-largest-2nd-smallest-2nd-largest/](https://www.geeksforgeeks.org/rearrange-array-order-smallest-largest-2nd-smallest-2nd-largest/) 給定一個整數數組,任務是按以下順序打印該數組:最小數,最大數,第二最小數,第二最大數,第三最小數,第三最大數,依此類推。 **示例**: ``` Input : arr[] = [5, 8, 1, 4, 2, 9, 3, 7, 6] Output :arr[] = {1, 9, 2, 8, 3, 7, 4, 6, 5} Input : arr[] = [1, 2, 3, 4] Output :arr[] = {1, 4, 2, 3} ``` **簡單解決方案**是先找到最小的元素,然后將其與第一個元素交換。 然后找到最大的元素,將其與第二個元素交換,依此類推。 該解決方案的時間復雜度為`O(n^2)`。 **有效解決方案**是使用[排序](https://www.geeksforgeeks.org/sorting-algorithms/)。 1.對數組的元素進行排序。 2.取兩個變量`i`和`j`分別指向數組的第一個索引和最后一個索引。 3.現在運行循環,并通過遞增`i`和遞減`j`來將元素逐一存儲在數組中。 讓我們以輸入為`5 8 1 4 2 9 3 7 6`的數組為例,對它們進行排序,使該數組變為`1 2 3 4 5 6 7 8 9`。 兩個變量分別說`i`和`j`并將它們分別指向數組的第一個索引和最后一個索引,運行循環并通過遞增`i`和遞減`j`將值存儲到新數組中。 我們得到的最終結果為`1 9 2 8 3 7 4 65`。 ## C++ ```cpp // C++ program to print the array in given order #include <bits/stdc++.h> using namespace std; // Function which arrange the array. void rearrangeArray(int arr[], int n) {??? ????// Sorting the array elements ????sort(arr, arr + n); ????int tempArr[n];? // To store modified array ????// Adding numbers from sorted array to? ????// new array accordingly ????int ArrIndex = 0; ????// Traverse from begin and end simultaneously? ????for (int i = 0, j = n-1; i <= n / 2 ||? ????????????????????j > n / 2; i++, j--) { ????????tempArr[ArrIndex] = arr[i]; ????????ArrIndex++; ????????tempArr[ArrIndex] = arr[j]; ????????ArrIndex++; ????} ????// Modifying original array ????for (int i = 0; i < n; i++) ????????arr[i] = tempArr[i]; } // Driver Code int main() { ????int arr[] = { 5, 8, 1, 4, 2, 9, 3, 7, 6 }; ????int n = sizeof(arr) / sizeof(arr[0]); ????rearrangeArray(arr, n); ????for (int i = 0; i < n; i++) ????????cout << arr[i] << " "; ????return 0; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看