列表

详情


CPP21. C++冒泡排序

描述

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

输入描述

键盘随机输入 6 个整数

输出描述

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

示例1

输入:

24
69
80
57
13
16

输出:

13 16 24 57 69 80

原站题解

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

C++ 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 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......
    int temp;
    for(int i=len-1;i>=1;i--)
    {
        for(int j=0;j<=i-1;j++)
        {
            if(arr[j]>arr[j+1])
            {temp=arr[j];
            arr[j]=arr[j+1];
             arr[j+1]=temp;
            }
        }
    }
    for (int i = 0; i < len; i++) {
        cout << arr[i]<<" ";
    }
    return 0;
}

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

#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......
    int i,j,temp;
    
    for(i=1;i<6;i++)
    {
        for(j=0;j<(6-i);j++)
        {
            if(arr[j]>arr[j+1])
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    
    for(int x=0;x<6;x++)
    {
        cout<<arr[x]<<" ";
    }

    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2021-11-29

#include <stdio.h>
int main()
{
    int i = 0, j = 0,arr[6], temp, t;
    for(i=0;i<6;i++)
    {
        scanf("%d ", &t);
        arr[i] = t;
    }
    for (i = 0; i < 6; i++)
    {
        for (j = 0; j < 6; j++)
        {

            if (arr[i] < arr[j])
            {
                temp = arr[j];
                arr[j] = arr[i];
                arr[i] = temp;
            }
        }
    }
    for (i = 0; i < 6; i++) {
        printf("%d ", arr[i]);
    }
}

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

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

C++ 解法, 执行用时: 2ms, 内存消耗: 388KB, 提交时间: 2021-11-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; i++)
    {
        int min=i,k=0;
        for(int j = i ; j < len ; j++)
        {
            if(arr[min]>arr[j])
            {
                min=j;
                k=1;
            }
        }
        if(k=1)
        {
        int t;
        t=arr[min];
        arr[min]=arr[i];
        arr[i]=t;
        }
        cout<<arr[i]<<" ";
    }

    return 0;
}

上一题