整数数组按绝对值排序

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

题目:

给出一组整数数组,要求按照绝对值从小到大进行排序后输出。

 

可以用经典的冒泡排序法来计算此问题,计算过程:

1、比较相邻两个元素绝对值,如果第一个比第二个大,则交换他们两个;

2、对每一对相邻元素做相同工作,直到结尾最后一对完成为止,这样在最后的元素会是绝对值最大的;

3、针对所有元素重复上诉步骤,除了最后一个(已经排好的);

4、重复步骤1~3,直到排序完成。

 

@Testpublic void testSort() {int[] arr = {17, -27, 3, 21, -5, 2, 18, -40};for(int i=0; i<arr.length-1; i++) {//外层循环每执行一遍,末尾位置就确定一个元素。 比如:第一次循环完,确定 index=arr.length-1的元素;//第二次循环,确定 index=arr.length-2的元素for(int j=0; j<arr.length-1-i; j++) {if(Math.abs(arr[j]) > Math.abs(arr[j+1])) {int tmp = arr[j+1];//交换相邻两个元素arr[j+1] = arr[j];arr[j] = tmp;}}}for(int one:arr) {System.out.print(one);System.out.print(",");}}

 

转载于:https://my.oschina.net/u/2328100/blog/1830744

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python定时任务是异步的吗_定时任务、异步任务

------------定时任务、异步任务--------pip install celery --targetD:\Users\ex-ouyangl003\PycharmProjects\data_new\dg_meta_system\metadata_system\venv\Lib\site-packages# coding:utf-8from apscheduler.schedulers.blocking import BlockingSchedulerimport datetime…

java excel自动保存_java读取excel的内容(可保存到数据库中)

//**poi jar包//public classReadExcel {SuppressWarnings("static-access")private staticString getValue(HSSFCell hssfCell) {if (hssfCell.getCellType() hssfCell.CELL_TYPE_BOOLEAN) {//返回布尔类型的值returnString.valueOf(hssfCell.getBooleanCellValue()…

《快学Scala》勘误

原文链接&#xff1a;http://www.blogjava.net/sean/archive/2012/11/15/391386.html ---------------- 第11页&#xff08;练习&#xff09;&#xff1a; 在Scala REPL中键入3&#xff0c;然后按Tab键 应为 在Scala REPL中键入3.&#xff0c;然后按Tab键 第19页&#xff0…

二分排序java实现

1.什么是二分排序&#xff1a; 二分排序是指利用二分法的思想对插入排序进行改进的一种插入排序算法&#xff0c;不同于二叉排序&#xff0c;可以利用数组的特点快速定位指定索引的元素&#xff1b; 算法思想&#xff1a;二分法插入排序是在插入第i个元素时&#xff0c;对前面的…

pearson相关系数_pearson相关系数与典型相关性分析(CCA)

本文主要介绍相关系数的概念&#xff0c;以及简单相关系数中的pearson相关系数及其局限性。随后介绍pearson相关系数无法解决的问题(两个变量组之间的相关性问题)的解决方案。1、pearson相关系数在日常中&#xff0c;我们经常会遇到一些关于相关性的分析&#xff0c;例如&#…

快学Scala习题解答—第三章 数组相关操作

原文链接&#xff1a;http://blog.csdn.net/ivan_pig/article/details/8257365 -------------------------------------------------- 4 数组相关操作 4.1 编写一段代码&#xff0c;将a设置为一个n个随机整数的数组&#xff0c;要求随机数介于0(包含)和n(不包含)之间 random和…

seo自动工具_爱站SEO工具包详细介绍

爱站SEO工具-seoer的瑞士军刀&#xff01;这个工具主要是为了方便SEOer查询一些网站的问题&#xff0c;监控关键词排名收录等等&#xff0c;新手老手都可以用的工具&#xff0c;更快的让SEOer上手。相信有很多SEOer都使用过爱站SEO工具包&#xff0c;也有很多新入行的小伙伴可能…

人物三(依芙蒂法)

转载于:https://www.cnblogs.com/song1900/p/9189921.html

常用Oracle分析函数详解

原文链接&#xff1a;http://www.cnblogs.com/benio/archive/2011/06/01/2066106.html --------------------------------------------------------------------------- 学习步骤&#xff1a; 1. 拥有Oracle EBS demo 环境 或者 PROD 环境 2. copy以下代码进 PL/SQL 3. 配合解…

XML文件结构和基本语法

XML文件的结构性内容&#xff0c;包括节点关系以及属性内容等等。元素是组成XML的最基本的单位&#xff0c;它由开始标记&#xff0c;属性和结束标记组成。就是一个元素的例子&#xff0c;每个元素必须有一个元素名&#xff0c;元素可以若干个属性以及属性值。 xml文件和html文…

python表格数据分类聚合_3-python数据分析-pandas高级操作之替换、映射、随机抽样、分组、高级数据聚合、数据加载、透视表、交叉表...

3-python数据分析-pandas高级操作之替换、映射、随机抽样、分组、高级数据聚合、数据加载、透视表、交叉表替换操作 replace替换操作可以同步作用于Series和DataFrame中单值替换普通替换&#xff1a; 替换所有符合要求的元素:to_replace15,value’e’按列指定单值替换&#xff…

oracle-SQL-case when 改用 DECODE

SELECT CASE FLOOR_LINE_ID WHEN 1 THEN 高铁 WHEN 2 THEN 高速 WHEN 3 THEN 公路 WHEN 5 THEN 地铁 ELSE 其他 END AS LINE_NAME, FLOOR_LINE_ID FROM ( SELECT FLOOR(LINE_ID/100) AS FLOOR_LINE_ID FROM DT4_LINE_NAME ) 改…

lcp mysql cluster_Mysql Cluster 非root用户启动ndbd节点报错

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼1.配置文件&#xff0c;如下&#xff1a;[rootcent178 ~]# ls -lart /etc/my.cnf-rw-rw-r-- 1 mysql mysql 3055 Oct 31 17:29 /etc/my.cnf2.集群数据存储文件夹&#xff0c;如下&#xff1a;[rootcent178 ~]# ls -lart /var/lib/m…

fatal: Could not read from remote repository.的解决办法

原文地址&#xff1a;http://blog.csdn.net/huahua78/article/details/52330792 --------------------------------------------------------------------------------- 查看远端地址 git remote –v 查看配置 git config --list git status git add . // 暂存所有的更改git…

python中mako中loop_python中Mako库实例用法

Mako是一个模板库。一种嵌入式的语言&#xff0c;能够实现简化组件布局以及继承&#xff0c;主要的用途也是和作用域有关&#xff0c;但是效果是最直接切灵活的&#xff0c;这些都是mako的基本功能&#xff0c;掌握了基础内容&#xff0c;接下来就是详细的了解讲述&#xff0c;…

springmvc是什么_SpringBoot与SpringMVC的区别是什么?

简单的来说&#xff1a;SpringMVC和SpringBoot都是Spring家族的重要成员。Spring家族的使命就是为了简化而生。SpringMVC简化我们日常Web开发的&#xff0c;后来随着自身的发展&#xff0c;SpringMVC变得臃肿复杂&#xff0c;而SpringBoot则进一步简化了SpringMVC开发。SpringM…

git 上传代码到码云

与码云建立连接教程&#xff1a;http://blog.csdn.net/zengmingen/article/details/76045076 如果完成了上面步骤的&#xff0c;且有了git。上传项目步骤&#xff1a; 代码提交 代码提交一般有五个步骤&#xff1a; 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交…

你不知道的js中关于this绑定机制的解析[看完还不懂算我输]

前言 最近正在看《你不知道的JavaScript》&#xff0c;里面关于this绑定机制的部分讲的特别好&#xff0c;很清晰&#xff0c;这部分对我们js的使用也是相当关键的&#xff0c;并且这也是一个面试的高频考点&#xff0c;所以整理一篇文章分享一下这部分的内容&#xff0c;相信看…

visual studio过期登录不了账户_具有最高管理权限账户,Windows 7设置Administrator密码永不过期...

今天介绍操作系统具有最高管理权限的账户&#xff0c;Windows 7如何设置Administrator账户密码永不过期。小伙伴们可能不知道&#xff0c;和Windows Vista操作系统一样&#xff0c;在Windows 7操作系统中是不能预先使用Administrator这个具有最高管理权限的账户的。同时也可能不…

Tomcat安装与环境变量的配置-Linux+windows

原文链接&#xff1a;http://jingyan.baidu.com/article/8065f87fcc0f182330249841.html ------------------------------------------------------------ 1&#xff0c;新建变量名&#xff1a;JAVA_HOME&#xff0c;变量值&#xff1a;C:\Program Files\Java\jdk1.7.0 2&…