题解 | #C++选择排序#

C++选择排序

https://www.nowcoder.com/practice/3b6175426e704c0b9461628b2278631b

#include <iostream>
using namespace std;

int main() 
{

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) 
    {
        cin >> arr[i];
    }
    
    // write your code here......
//     for (int i = len - 1; i > 0; --i)
//     {
//         for (int j = 0; j < i; ++j)
//         {
//             if (arr[j] > arr[j + 1])
//             {
//                 int tmp = arr[j];
//                 arr[j] = arr[j + 1];
//                 arr[j + 1] = tmp;
//             }
//         }
//     }
    
    for (int i = 0; i < len; ++i)
    {
        int min = i;
        for (int j = i + 1; j < len; ++j)
        {
            // 
            if (arr[j] < arr[min])
            {
                min = j;
            }
        }
        
        int tmp = arr[i];
        arr[i] = arr[min];
        arr[min] = tmp;
    }
    
    for (int i = 0; i < len; ++i)
    {
        cout << arr[i] << " ";
    }
    cout << endl;

    return 0;
}
每次循环比较出最小的那个,排到最开始就可以了。
全部评论

相关推荐

活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务