列表

详情


CPP22. C++选择排序

描述

键盘随机输入 6 个整数,将这些数据保存到数组中,使用选择排序对数组中的元素进行从小到大顺序排序,输出排序后数组中的元素(元素之间使用空格隔开)。

输入描述

键盘随机输入 6 个整数

输出描述

输出排序后数组中的元素(元素之间使用空格隔开)

示例1

输入:

24
69
80
57
13
16

输出:

13 16 24 57 69 80

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2022-03-12

#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......
    // N个数要进行N-1趟排序
    for (int i = 0; i < len - 1; i++) {
        int min = i;
        for (int j = i + 1; j < len; j++) {
            if (arr[j] < arr[min])
                min = j;
        }
        std::swap(arr[i], arr[min]);
    }

    for (int i = 0; i < len; i++) {
        cout << arr[i] << " ";
    }
    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 392KB, 提交时间: 2022-04-29

#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=0; i<len-1; i++)
    {
        int min=i;
        for(int j=i+1; j<len; j++)
        {
            if(arr[j]<arr[min])
                min=j;
        }
        swap(arr[i], arr[min]);
    }

    for (int i = 0; i < len; i++)
        cout << arr[i] << " ";

    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2022-04-17

#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 = 0; i < len; i++)
    {
        int min = arr[i];
        for(int j = i+1; j < len; j++)
        {
            if(min > arr[j])
            {
                int t = min;
                min = arr[j];
                arr[j] = t;
            }
        }
        arr[i] = min;
    }
    for (int i = 0; i < len; i++) {
        cout << arr[i] << " ";
    }
    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-12-31

#include <iostream>
using namespace std;
#include<algorithm>

int main() {

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
    sort(arr,arr+6);
    for(int i=0;i<len;i++)
    {
        cout<<arr[i]<<' ';
    }
    
    // write your code here......
    

    return 0;
}

C++ 解法, 执行用时: 2ms, 内存消耗: 396KB, 提交时间: 2021-12-10

#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=0;i<len;i++){
        for(int j=i+1;j<len;j++){
            if(arr[j]<arr[i]){
                int t=arr[j];
                arr[j]=arr[i];
                arr[i]=t;
            }
        }
    }
    for(int i=0;i<len;i++){
        if(i==(len-1)){
            cout<<arr[i]<<endl;
        }else{
            cout<<arr[i]<<" ";
        }
    }

    return 0;
}

上一题