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

Java基础练习六(排序)

排序


1. 第n大数

给定一个整数数组,输入一个值 n, 输出数组中第 n 大的数。

import java.util.Arrays;
import java.util.Scanner;public class Work0801 {public static void main(String[] args) {int[] arr = {2,3,1,8,3,9,6};// 冒泡排序,第n大数for (int i = 0; i < arr.length - 1; i++) {for (int j = 0 ; j < arr.length - 1 - i; j++) {if (arr[j + 1] > arr[j]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
//        System.out.println(Arrays.toString(arr));Scanner input = new Scanner(System.in);System.out.println("请输入你想要查找的第n大数");int n = input.nextInt();System.out.println(arr[n - 1]);}
}

2. 去掉第 n 大数

给定一个整数数组,输入一个值 n, 输出去掉数组中第 n 大的数后的数组。

import java.util.Arrays;
import java.util.Scanner;public class Work0802 {public static void main(String[] args) {int[] arr = {2,3,1,8,3,9,6};// 冒泡排序,去掉第n大数for (int i = 0; i < arr.length - 1; i++) {for (int j = 0 ; j < arr.length - 1 - i; j++) {if (arr[j + 1] > arr[j]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}Scanner input = new Scanner(System.in);System.out.println("请输入你想要去除的第n大数");int n = input.nextInt();int[] arr2 = new int[arr.length - 1];int count = 0;for (int i = 0; i < arr.length; i++) {if (arr[i] != arr[n - 1]) {arr2[count] = arr[i];count++;}}System.out.println(Arrays.toString(arr2));}
}

3. 成绩排名

一个班级有若干学生,每个学生的成绩以整数表示。请实现一个程序,根据学生的成绩对他们进行排名并输出。

public class Work0803 {public static void main(String[] args) {int[] arr = {82,53,61,48,93,79,86};// 选择排序for (int i = 0; i < arr.length -1; i++) {int max = i;for (int j = i + 1; j <arr.length ; j++) {if (arr[j] > arr[max]) {max = j;}}int temp = arr[i];arr[i] = arr[max];arr[max] = temp;}System.out.println("名次\t" + "成绩");for (int i = 0; i < arr.length; i++) {System.out.println((i + 1) + "\t" + arr[i]);}}
}

4. 查找元素

给定一个整数数组,输入一个值 n ,输出 n 在数组中的下标( 如果不存在输出 -1 )

public class Work0804 {public static void main(String[] args) {int[] arr = {3, 2, 1, 4, 5};Scanner input = new Scanner(System.in);int falg = -1;int num = input.nextInt();for (int i = 0; i < arr.length; i++) {if (arr[i] == num) {falg = i;break;}}if (falg == -1) {System.out.println(-1);} else {System.out.println(falg);}}
}

5. 数组去重

给定一个整数数组,编写一个程序,移除数组中的重复元素,输出一个去重后的数组

public class Work0805 {public static void main(String[] args) {int[] arr = {5, 3, 3, 2, 1, 1, 4, 5};int count = 0;// 插入排序for (int i = 1; i < arr.length; i++) {int index = i - 1;int num = arr[i];while (index >= 0 && arr[index] < num){arr[index + 1] = arr[index];index--;}arr[index+1] = num;}System.out.println(Arrays.toString(arr));count = 0;for (int i = 0; i < arr.length - 1; i++) {if (arr[i] == arr[i + 1]) {count += 1;}}
//        System.out.println(count);int[] arr1 = new int[arr.length - count];arr1[0] = arr[0];int sign = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] != sign){arr1[arr.length - count - 1] = arr[i];count += 1;sign = arr[i];}}System.out.println(Arrays.toString(arr1));}
}

6. 添加数组元素

给定一个整数数组,输入位置 n 和值 k。将值 k 插入到数组的第 n 位并输出新数组的每一个元素。

public class Work0806 {public static void main(String[] args) {int[] arr = {2, 3, 1, 8, 3, 9, 6};int[] arr1 = new int[arr.length + 1];Scanner input = new Scanner(System.in);int n = input.nextInt();int k = input.nextInt();for (int i = 0; i < arr1.length; i++) {
//            for (int j = n; j < arr1.length; j++) {if (n - 1 == i) {arr1[i] = k;} else if (i < (n - 1)){arr1[i] = arr[i];} else {arr1[i] = arr[i - 1];}
//            }}System.out.println(Arrays.toString(arr1));}
}

7. 数组的交集

给定两个各不包含重复元素的数组 arr 和 arr1 ,求 arr 和 arr1 的交集(在 arr 中有,arr1 中也包含的元素集合),将交集中的元素放到一个数组中并输出。

import java.util.Arrays;public class Work0807 {public static void main(String[] args) {int[] arr = {1, 2, 3};int[] arr1 = {2, 3};int[] arr2;int count = 0;for (int i: arr) {for (int j: arr1){if (i == j) {count += 1;}}}arr2 = new int[count];for (int i: arr) {for (int j: arr1){if (i == j) {arr2[count - 1] = i;count--;}}}System.out.println(Arrays.toString(arr2));}
}

相关文章:

Java基础练习六(排序)

排序 1. 第n大数 给定一个整数数组&#xff0c;输入一个值 n, 输出数组中第 n 大的数。 import java.util.Arrays; import java.util.Scanner;public class Work0801 {public static void main(String[] args) {int[] arr {2,3,1,8,3,9,6};// 冒泡排序,第n大数for (int i 0; …...

【Go】Go数据操作 - 处理JSON文件

目录 何为JSON 编码JSON 实践时刻 解码JSON 实践时刻 延伸拓展 何为JSON JSON (JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。JSON最初是JavaScript的一部分&#xff0c;后由于便于快速编写的特性&#xff0c;被开发者独立出来。基本上所有的语…...

服务器之LNMP

lnmp的构成 L&#xff1a;linux系统,操作系统。 N&#xff1a;nginx网站服务&#xff0c;前端,提供前端的静态页面服务。同时具有代理,转发的作用。 转发&#xff1a;主要是转发后端请求。转发到PHP。nginx没有处理动态资源的功能,他有可以支持转发动态请求的模块。 M&…...

恒运资本:定向增发一般多久完成?

随着现代企业的不断发展壮大&#xff0c;企业需求的资金也越来越多&#xff0c;而定向增发成为了企业融资的一个不可或缺的方法之一。那么&#xff0c;定向增发一般需求多长时刻来完结呢&#xff1f;本文将从多个角度进行剖析&#xff0c;以期对此问题有更深化的了解。 一、 定…...

mysql进阶篇(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

考研C语言进阶题库——更新31-32题

目录 31.姜太公门前有一个池塘&#xff0c;他每天都会去池塘里面钓鱼&#xff0c;他钓鱼技术非常高&#xff0c;距离水面五米的深度之内&#xff0c;包括五米的鱼&#xff0c;他都能钓到池塘里面一共有n条鱼&#xff0c;给出每条鱼距离水面的高度&#xff0c;问姜太公一次能钓…...

机动车号牌正则表达式(兼容新能源车牌)

说明&#xff1a;“|”前面面是绿牌车&#xff08;8位&#xff09;规则&#xff0c;“|”后面是蓝牌车&#xff08;7位&#xff09;规则。 ([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]A-Z)|(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵…...

idea如何上传项目到github(超详细)

idea如何上传项目到github 1、IDEA配置2、项目上传到本地仓库2.1、创建本地git仓库2.2、Add操作2.3、Commit操作 3、项目上传到Github4、拿到登录Github的token 1、IDEA配置 File-Settings-VersionControl-Git Git的安装路径下bin目录下的git.exe可执行文件 可以直接点 Gene…...

护网专题简单介绍

护网专题简单介绍 一、护网红蓝队介绍1.1、网络安全大事件1.2、护网行动由来1.3、护网行动中的角色二、红队介绍2.1、红队所需技能2.2、红队攻击流程 三、蓝队介绍3.1、蓝队所需技能3.2、蓝队防守四阶段3.3、蓝队前期准备 四、常见安全厂商介绍4.1、常见安全厂商 五、常见安全产…...

GO学习之 网络通信(Net/Http)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、 文章目录 GO系列前言一、H…...

<dependency> idea中为什么这个变黄色

在IDE中&#xff0c;当你的代码出现黄色高亮时&#xff0c;通常表示存在警告或建议的提示。对于Maven的<dependency>标签来说&#xff0c;黄色高亮可能有以下几种原因&#xff1a; 依赖项未找到&#xff1a;黄色高亮可能表示IDE无法找到指定的依赖项。这可能是由于配置错…...

SA8000 社会责任要求之健康安全准则

【SA8000 社会责任要求之健康安全准则】 健康和安全 准则 3.1 组织应提供一个安全和健康的工作环境&#xff0c;并应采取有效的措施防止潜在的健康和安全事故和职业伤害&#xff0c;或在工作的过程中发生的或引起的疾病。基于产业相关的安全与健康的知识以及任何特定的危害&…...

SpringMVC的架构有什么优势?——控制器(三)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…...

AI和ChatGPT:人工智能的奇迹

AI和ChatGPT&#xff1a;人工智能的奇迹 引言什么是人工智能&#xff1f;ChatGPT&#xff1a;AI的语言之王ChatGPT的工作原理ChatGPT的优势和挑战AI和ChatGPT的未来展望结论 引言 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一项令人兴奋的…...

掌握 JVM 的参数及配置

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ JVM&#xff08;Java虚拟机&#xff09;是Java编程语言的核心组件之一&#xff0c;它负责执行Java程序&#xff0c;并提供一系列参数和配置选项&#xff0c;可以调整Java程…...

如何高性能、高效率地实现3D Web轻量化?

随着互联网和Web技术的发展&#xff0c;3D Web应用的需求越来越多。然而&#xff0c;复杂的3D模型在Web上展示和交互通常需要大量的带宽和计算资源。为了解决这一问题&#xff0c;HOOPS技术作为一套专业的3D图形技术开发工具包&#xff0c;发挥着关键作用。本文将探讨HOOPS技术…...

【Linux 网络】 传输层协议之TCP协议 TCP的三次握手和四次挥手

TCP协议 TCP协议段格式谈谈什么是 “可靠” 和 “不可靠”TCP协议段——序号与确认序号TCP协议段——窗口大小TCP协议段 —— 六个标志位确认应答机制&#xff08;ACK&#xff09;超时重传机制连接管理机制TCP 的三次握手四次挥手TCP三次握手四次挥手总结图 滑动窗口流量控制拥…...

git仓库与本地暂存区的同步问题

向下同步 对于远程仓库的项目&#xff0c;初始化一个配置文件&#xff0c;配置远程仓库及相关信息&#xff0c;赋值远程仓库的地址&#xff0c;使用git pull命令即可拉取仓库代码。 git pull [remote_addr] 该部分完成向下同步 向上同步 向上同步时会遇到很多的问题&#xf…...

MATLAB算法实战应用案例精讲-【图像处理】图像分类模型-LeNetAlexNetVGG

目录 LeNet 模型介绍 模型结构 模型实现 模型特点 模型指标 AlexNet...

ArcGIS API for JavaScript 4.x 教程(二)切换基础地图图层

了解如何更改地图中的基础地图图层。 基础地图图层&#xff1a; 基础地图层是用于访问和显示来自基础地图层服务的数据的层。它为地图或场景提供视觉和地理上下文&#xff0c;通常包含具有管理边界和地名的全局数据。 基本地图图层服务提供了许多基本地图图层样式&#xff0c;例…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...