首页 > 试题广场 >

排序(冒泡排序)

[编程题]排序(冒泡排序)
  • 热度指数:8977 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给你一个n代表有n个数字,给出这n个数字,然后你需要使用冒泡排序将这些数字从小到大排好。

输入描述:
第一行输入一个n,代表有n个数字
第二行输入n个数


输出描述:
输出排序好后的n个数
示例1

输入

4
4 3 2 1

输出

1 2 3 4
import java.util.Arrays; import java.util.Scanner;  /**  * @author zzb  * @version V1.0  * @creat 2022 0925 16:35  */ public class test { public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);  int n = scanner.nextInt();  int[] nums = new int[n];  for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();  } int fist = nums.length - 1;  while (true) { int last = 0;  for (int i = 0; i < fist; i++) { if (nums[i] > nums[i + 1]) { int temp = nums[i];  nums[i] = nums[i + 1];  nums[i + 1] = temp;   last = i;  }
            }
            fist = last;   if (last == 0) { break;  }
        } for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]+" ");  }
    }
}
发表于 2022-09-25 17:06:37 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] nums = new int[n];
        for (int i=0; i<n; i++){
            nums[i] = in.nextInt();
        }
        //冒泡
        for (int i=0; i<n-1; i++){
            for (int j=0; j<n-1-i; j++){
                if (nums[j]>nums[j+1]){
                    int temp = nums[j+1];
                    nums[j+1] = nums[j];
                    nums[j] = temp;
                }
            }
        }
        for (int i=0; i<n; i++){
            if (i==n-1) System.out.print(nums[i]);
            else System.out.print(nums[i]+" ");
        }
    }
}
发表于 2022-02-15 16:38:31 回复(0)
#include<bits/stdc++.h>
using namespace std;
void BubbleSort(int *nums,int n)
{
    for(int i=0;i<n-1;i++)
    {
        for(int j=0;j<n-1-i;j++)
        {
            if(nums[j]>nums[j+1])
               swap(nums[j],nums[j+1]);
        }
    }
}
int main()
{
    int nums[1000];
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>nums[i];
    }
    BubbleSort(nums,n);
    for(int i=0;i<n;i++)
    {
         cout<<nums[i]<<" ";
    }
    cout<<endl;
    return 0;
}
发表于 2021-09-08 21:14:43 回复(0)

void bubble_sort(int a[],int n)//n为数组a的元素个数

{

    //一定进行N-1轮比较,比较的趟数

    for(int i=0; i<n-1; i++)

    {

        //每一轮比较前n-1-i个,即已排序好的最后i个不用比较

        for(int j=0; j<n-1-i; j++)

        {

            if(a[j] > a[j+1])           //从大到小的话就修改a[j] < a[j+1]

            {

                int temp = a[j];

                a[j] = a[j+1];

                a[j+1]=temp;

            }

        }

    }

}

发表于 2021-03-13 20:24:01 回复(0)