当前位置: 首页 > article >正文

蓝桥杯试题:冒泡排序 选择排序

一、问题描述

在一个神秘的岛屿上,有一支探险队发现了一批宝藏,这批宝藏是以整数数组的形式存在的。每个宝藏上都标有一个数字,代表了其珍贵程度。然而,由于某种神奇的力量,这批宝藏的顺序被打乱了,探险队需要将宝藏按照珍贵程度进行排序,以便更好地研究和保护它们。作为探险队的一员,肖恩需要设计合适的排序算法来将宝藏按照珍贵程度进行从小到大排序。请你帮帮肖恩。

输入描述

输入第一行包括一个数字 nn ,表示宝藏总共有 nn 个。

输入的第二行包括 nn 个数字,第 ii 个数字 a[i]a[i] 表示第 ii 个宝藏的珍贵程度。

数据保证 1≤n≤1000,1≤a[i]≤1061≤n≤1000,1≤a[i]≤106 。

输出描述

输出 nn 个数字,为对宝藏按照珍贵程度从小到大排序后的数组。

样例输入

5
1 5 9 3 7

样例输出

1 3 5 7 9

二、代码展示

1.冒泡排序

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int[] f =  new int[n];
        for(int i = 0 ; i < n ; i++)
        {
          f[i] = scan.nextInt();
        }
        
        for(int i =0 ; i < n ; i++){
          for(int j = i+1 ; j < n ; j++){
            if(f[i] > f[j]){
              int temp = f[i];
              f[i] = f[j];
              f[j] = temp;
            }
          }
        }

        for(int i = 0 ; i < n ; i++)
        {
          System.out.print(f[i] + " ");
        }

        scan.close();
    }
}

2.选择排序

import java.util.Scanner;
import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改


public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        scan.nextLine();
        int[] f =  new int[n];
        for(int i = 0 ; i < n ; i++)
        {
          f[i] = scan.nextInt();
        }
        
        for(int i = 0; i < n;i++){
          int min = i;
          for(int j = i+1 ; j < n; j++){
            if(f[min] > f[j]){
              min = j; 
            }
          }
          int temp = f[i];
          f[i] = f[min];
          f[min] = temp;        }

        for(int i = 0 ; i < n ; i++)
        {
          System.out.print(f[i] + " ");
        }


        scan.close();
    }
}

 if(f[min] > f[j]){

              min = j; 

            }

注意不能写成 i 和 j 的比较


http://www.kler.cn/a/540726.html

相关文章:

  • 【多模态大模型】系列3:语义分割(LSeg、GroupViT)
  • 线程池里面的execute 和 submit 方法有什么区别?
  • 【vscode+latex】实现overleaf本地高效编译
  • Ollama实现deepseek本地部署
  • windows10 wsa 安卓子系统终结版
  • 树和二叉树_7
  • 六.logback记录日志文件并按大小日期分割文件
  • 操作系统调度算法解析(SJF)
  • EtherNet/IP转Modbus TCP实现三菱变频器与西门子PLC通讯的配置案例
  • 从零复现DeepSeek R1:从V3中对MoE、MLA、MTP的实现,到Open R1对R1中SFT、GRPO的实现
  • ESP8266配置为TCP客户端,连接电脑和手机(使用Arduino配置)
  • javaEE-10.CSS入门
  • 【Elasticsearch】管道聚合
  • SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法
  • 相对收益-固定收益组合归因-前言
  • 纯前度(vue)实现对pdf\mp4\png\jpg\jpegxls\doc\txt文件预览,无需要转化
  • Android图片加载框架Coil,Kotlin
  • 国税局发票查验中英文验证码识别,识别率99.99%
  • 十四. Redis 新功能
  • day10-字符串
  • Spring Boot 与 Kafka 实现高效消息队列通信的最佳实践
  • flutter ListView Item复用源码解析
  • 亲自测试并推荐的第三方平台使用DeepSeek 和 LM Studio 本地部署DeepSeek
  • AI刷题-子数组和的最大值问题
  • 【Java 面试 八股文】Redis篇
  • 数字电路-基础逻辑门实验