java-选中排序(新手)
//排序 选择排序 数组中每个元素都进行比较
public class Test {
//公共静态的主方法。
public static void main(String[] args) {
//创建一个数组。
int[] arr = {12,69,852,25,89,588};
// 下标为 0 1 2 3 4 5
//排序。
selectS(arr);
//遍历。
printS(arr);
}
//调用排序的方法,对数组进行排序。
public static void selectS(int[] arr){
//创建for循环。
for(int i=0;i<arr.length;i++){
//嵌套for循环。
for(int j =i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
}
//遍历打印。
public static void printS(int[] arr){
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
============分割线===========
ex:
int[] arr = {12,69,852,25,89,588};
12 69
12 852
12 25
12 89
12 588
69 852 25
25 89
25 588
852 69
69 89
69 588
852 89
852 588
结果就是: 12 25 69 89 588 852
在第一个for循环里,i=0,意思即为下标为零的数组内的数值。
j = i+j,意思即为0+1,也就是下标为一的数组内的数值。
如果说下标为零的数大于下标为一的数,就运行下面排序的代码。但是如果
不大于,那么就不循环,在这个基础上再加1,继续做比较,意思就是
这个i=0,如果说j的循环不结束,那么,就一直是零。
只有在j的循环结束之后,i也就是第一个下标才会更改成1,以此下推。
当下标为零的数值和数组内的所有数值都比较完之后,那么就是i更变的时候
之所以在for循环里加入了一个新值:int temp、是方便数值的互换。
ex:
int tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
打个比方说,你有两只手,每个手都拿了一个杯子,这两个杯子都是满的,但是
你想把左手杯的水倒在右手杯子里,这个时候,这个新值,就相当于别人递过来
一只手,手里拿了一个空杯子,这样你是不是就可以对两个杯子里的水进行互换
了?
java-选中排序(新手)的更多相关文章
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...
- Java 常用排序算法/程序员必须掌握的 8大排序算法
Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...
- java 集合排序(转)
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...
- java:高速排序算法与冒泡排序算法
Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /** * * @Description: * @author:cuiyaon ...
- java常见排序方法
1.java常用排序方法 1) 选择排序 原理:a. 将数组中的每个元素,与第一个元素比较 如果这个元素小于第一个元素, 就将这个 两个元素交换. ...
- java希尔排序
java希尔排序 1.基本思想: 希尔排序也成为"缩小增量排序",其基本原理是,现将待排序的数组元素分成多个子序列,使得每个子序列的元素个数相对较少,然后对各个子序列分别进行直接插 ...
- Java八大排序算法
Java八大排序算法: package sort; import java.util.ArrayList; import java.util.Arrays; import java.util.List ...
- Java常用排序算法及性能测试集合
测试报告: Array length: 20000 bubbleSort : 573 ms bubbleSortAdvanced : 596 ms bubbleSortAdvanced2 : 583 ...
- java 集合排序
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...
- Java各种排序算法
Java各种排序算法详解 排序大的分类可以分为两种:内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.下面讲的排序都是属于内排序. 内排序有 ...
随机推荐
- geoserver整合swagger2支持自动生成API文档
网上各种博客都有关于swagger2集成到springmvc.springboot框架的说明,但作者在整合到geoserver中确碰到了问题,调试一番最后才解决,遂总结一下. swagger2集成只需 ...
- 机器学习入门教程-k-近邻
k-近邻算法原理 像之前提到的那样,机器学习的一个要点就是分类,对于分类来说有许多不同的算法,所谓的物以聚类,分以群分.我们非常的清楚,一个地域的人群,不管在生活习惯,还是在习俗上都是非常相似的,也就 ...
- Mongdb创建 连接过程
在bin目录下启动后 Show dbs 显示库,库里有内容才会显示库名称 Use admin 切换库 没有的默认创建 show users显示用户信息 Show collections显示表名 db. ...
- Ubuntu18.04安装OpenStack
Ubuntu18.04 安装Queens版本OpenStack 安装环境 系统 系统使用的是Ubuntu18,最少4核8G内存,20G硬盘空间. 工具 devstack DevStack是一系列可扩展 ...
- The difference between applicationContext.xml in Spring and xxx-servlet.xml in SpringMVC
一直搞不明白两者的区别.如果使用了SpringMVC,事实上,bean的配置完全可以在xxx-servlet.xml中进行配置.为什么需要applicationContext.xml?一定必须? 因为 ...
- es6this箭头函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 < ...
- C++走向远洋——55(项目一3、分数类的重载、>>
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Ueditor富文本编辑器--Ctrl V 粘贴后原有图片显示错误
最近负责将公司官网从静态网站改版成动态网站,方便公司推广营销人员修改增加文案,避免官网文案维护过于依赖技术人员.在做后台管理系统时用到了富文本编辑器Ueditor,因为公司有一个阿里云文件资源服务器, ...
- nvm安装以及注意事项
nvm初衷:由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理 1. 下载:[nvm-windows](https://github.com/cor ...
- HttpClientFactory的套路,你知多少?
背景 ASP.NET Core 在 2.1 之后推出了具有弹性 HTTP 请求能力的 HttpClient 工厂类 HttpClientFactory. 替换的初衷还是简单摆一下: ① using(v ...