zoukankan      html  css  js  c++  java
  • 9、【常见算法】数组重排

    长度为n的数组乱序存放着 0 至n-1. 现在只能进行 0 与其他数的swap,请设计并实现排序。

     1 //长度为n的数组乱序存放着 0 至n-1. 现在只能进行 0 与其他数的swap,请设计并实现排序。
     2 #include <iostream>
     3 
     4 using namespace std;
     5 
     6 void Sort(int *arr, int len)
     7 {
     8     for(int i = 0; i < len; i++)
     9     {
    10         if(arr[i] != i)
    11         {
    12             swap(arr[0], arr[i]);
    13             while(arr[0] != 0)
    14             {
    15                 swap(arr[0], arr[arr[0]]);
    16             }
    17         }
    18     }
    19 }
    20 
    21 void printArray(int *arr, int len)
    22 {
    23     if(!arr || len < 0)
    24         cout << "Invalid Input" << endl;
    25     for(int i = 0; i < len; i++)
    26     {
    27         cout << arr[i] << "	";
    28     }
    29     cout << endl;
    30 }
    31 
    32 int main()
    33 {
    34     const int MAX = 5;
    35     int arr[MAX] = {0, 2, 1, 4, 3};
    36 
    37     printArray(arr, MAX);
    38     Sort(arr, MAX);
    39     printArray(arr, MAX);
    40 
    41     return 0;
    42 }
  • 相关阅读:
    Thinking in Java
    Interview Common Sample Codes
    Longest Common Substring
    Mac键盘按键符号
    ElasticSearch
    Variables and Arithmetic Expression
    Associative Containers
    Container Adaptors
    string Type
    初识 tk.mybatis.mapper 通用mapper
  • 原文地址:https://www.cnblogs.com/Long-w/p/9796435.html
Copyright © 2011-2022 走看看