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

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码"&#xff1a;Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力&#xff0c;从金融交易到交通管控&#xff0c;这些关乎国计民生的关键领域…...