<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 對除一個以外的所有數組元素進行排序 > 原文: [https://www.geeksforgeeks.org/sorting-array-elements-except-one/](https://www.geeksforgeeks.org/sorting-array-elements-except-one/) 給定數組 A 為正整數,請按升序對數組進行排序,以使未排序數組中索引 K 處的元素保持不動,并對所有其他元素進行排序。 **示例**: ``` Input : arr[] = {10, 4, 11, 7, 6, 20} k = 2; Output : arr[] = {4, 6, 11, 7, 10, 20} Input : arr[] = {30, 20, 10} k = 0 Output : arr[] = {30, 10, 20} ``` **簡單解決方案**是將除第 k 個給定數組之外的所有元素復制到另一個數組。 然后使用排序算法對另一個數組進行排序。 最后再次將排序后的數組復制到原始數組。 復制時,跳過第 k 個元素。 以下是**有效解決方案**。 1. 將第 k 個元素與最后一個元素交換。 2. 排序除 last 之外的所有元素。 3. 對于第(k + 1)個元素至最后一個元素,將它們向前移動一個位置。1 4. 將第 k 個元素復制回位置 k。 ## C++ ```cpp // CPP program to sort all elements except // element at index k. #include <bits/stdc++.h> using namespace std; int sortExceptK(int arr[], int k, int n) { ????// Move k-th element to end ????swap(arr[k], arr[n-1]); ????// Sort all elements except last ????sort(arr, arr + n - 1); ????// Store last element (originally k-th) ????int last = arr[n-1]; ????// Move all elements from k-th to one ????// position ahead. ????for (int i=n-1; i>k; i--) ???????arr[i] = arr[i-1]; ????// Restore k-th element ????arr[k] = last; } // Driver code int main() { ????int a[] = {10, 4, 11, 7, 6, 20 }; ????int k = 2; ????int n = sizeof(a) / sizeof(a[0]); ????sortExceptK(a, k, n); ????for (int i = 0; i < n; i++) ????????cout << a[i] << " "; } ``` ## Java ```java // Java program to sort all elements except // element at index k. import java.util.Arrays; class GFG { ????static int sortExceptK(int arr[], int k, int n) ????{ ????????// Move k-th element to end ????????int temp = arr[k]; ????????arr[k] = arr[n-1]; ????????arr[n-1] = temp; ????????// Sort all elements except last ????????Arrays.sort(arr, 0, n-1); ????????// Store last element (originally k-th) ????????int last = arr[n-1]; ????????// Move all elements from k-th to one ????????// position ahead. ????????for (int i = n-1; i > k; i--) ????????arr[i] = arr[i-1]; ????????// Restore k-th element ????????arr[k] = last; ????????return 0; ????} ????//Driver code ????public static void main (String[] args) ????{ ????????int a[] = {10, 4, 11, 7, 6, 20 }; ????????int k = 2; ????????int n = a.length; ????????sortExceptK(a, k, n); ????????for (int i = 0; i < n; i++) ????????????System.out.print(a[i] + " "); ????} } //This code is contributed by Anant Agarwal. ``` ## Python3 ```py # Python3 program to sort all elements except # element at index k. def sortExcept(arr, k, n): ????# Move k-th element to end ????arr[k], arr[-1] = arr[-1], arr[k] ????# Sort all elements except last ????arr = sorted(arr, key = lambda i: (i is arr[-1], i)) ????# Store last element (originally k-th) ????last = arr[-1] ????# Move all elements from k-th to one ????# position ahead. ????i = n - 1 ????while i > k: ????????arr[i] = arr[i - 1] ????????i -= 1 ????# Restore k-th element ????arr[k] = last ????return arr # Driver code if __name__ == '__main__': ????a = [10, 4, 11, 7, 6, 20] ????k = 2 ????n = len(a) ????a = sortExcept(a, k, n) ????print(" ".join(list(map(str, a)))) # This code is contributed by Shivam Singh. ``` ## C# ```cs // C# program to sort all elements except // element at index k. using System; public class GFG { ????static int sortExceptK(int[] arr, int k, int n) ????{ ????????// Move k-th element to end ????????int temp = arr[k]; ????????arr[k] = arr[n - 1]; ????????arr[n - 1] = temp; ????????// Sort all elements except last ????????Array.Sort(arr, 0, n - 1); ????????// Store last element (originally k-th) ????????int last = arr[n - 1]; ????????// Move all elements from k-th to one ????????// position ahead. ????????for (int i = n - 1; i > k; i--) ????????????arr[i] = arr[i - 1]; ????????// Restore k-th element ????????arr[k] = last; ????????return 0; ????} ????// Driver code ????public static void Main() ????{ ????????int[] a = { 10, 4, 11, 7, 6, 20 }; ????????int k = 2; ????????int n = a.Length; ????????sortExceptK(a, k, n); ????????for (int i = 0; i < n; i++) ????????Console.Write(a[i] + " "); ????} } // This article is contributed by shiv_bhakt ``` ## PHP ```php <?php // PHP program to sort all? // elements except element // at index k. function sortExceptK(&$arr, $k, $n) { ????// Move k-th element to end ????$t = $arr[$k]; ????$arr[$k] = $arr[$n - 1]; ????$arr[$n - 1] = $t; ????// Sort all elements? ????// except last ????$t = $arr[count($arr) - 1]; ????$arr = array_slice($arr, 0, -1); ????sort($arr); ????array_push($arr, $t); ????// Store last element ????// (originally k-th) ????$last = $arr[$n - 1]; ????// Move all elements from? ????// k-th to one position ahead. ????for ($i = $n - 1; $i > $k; $i--) ????$arr[$i] = $arr[$i - 1]; ????// Restore k-th element ????$arr[$k] = $last; } // Driver code $a = array(10, 4, 11,? ????????????7, 6, 20 ); $k = 2; $n = count($a); sortExceptK($a, $k, $n); for ($i = 0; $i < $n; $i++) ????echo ($a[$i]." "); // This code is contributed by? // Manish Shaw(manishshaw1) ?> ``` **輸出**: ``` 4 6 11 7 10 20 ``` * * * * * *
                  <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>

                              哎呀哎呀视频在线观看