当前位置: 首页 > 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;例…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...