public class code2 {
public static void main(String[] args) {
int[] x = {37, 89, 23}; for (int z = 0; z < x.length - 1; z++) {
int minIndex = z;
for (int i = z+1; i < x.length; i++) {
if (x[i] < x[minIndex]) {
minIndex = i;
} }
if (minIndex != z) {
int tem = x[z];
x[z] = x[minIndex];
x[minIndex] = tem;
} }
for (int i = 0; i < x.length; i++) {
System.out.println(x[i]);
}
}
}

这串代码是数组中的选择排序,它的原理是:

先假设一个数组中下标为0 的元素为最小的数值,我们通过循环来比较下标为0 的数值与数组中的其它数值进行比较,如果有比他小的数值,那我们就把它的下标赋给我们先前所定义的变量中minIndex

最外层的循环是我们控制在数组中的第几位放什么数值。并且控制我们的轮回的次数,因为有一些已经排好的数值我们就不要重新把他们排序。

下面那个if语句就是把它们之间的位置调换一下,借助一个其他的变量来完成。

 1 import java.util.*;
2 public class code3{
3 public static void main(String []args){
4 int []x ={23,34,21,52,56};
5 Arrays.sort(x);
6 for(int i:x){
7 System.out.println(i);
8 }
9
10 }
11
12 }
13 //java中的快速排序

这个是Java语言中的自带的一个快速排序的方法,它原理是,现在一个数组中随意找一个数,以他为衡量,比他大的就放在她的后面,比他小的数就放在她的前面就行了,然后再在的前后的那两个区间随意找一个值作为衡量的标准

以此类推,就行了。这个方法是这几种排序方法中最快的方法。

 1 public class code2 {
2 public static void main(String []args){
3 int []a ={15,7,12,2,8,16};(在这里我先定义一个数组)
4 for (int i =0;i<a.length-1;i++){ 这个循环是用来控制数组的排序的轮数的,之所以要减一是因为剩下来的那个数字是自动会排好的。
5 for(int j= 0;j<a.length-1-i;j++){ 而这个是用来控制相连两个数的比较大小的次数,因为有一些的数组已经比好大小了,那我们自然也要把它们给减去,不然重复去交换会使程序效率降低。
6 if(a[j]>a[j+1]) {那个大就把它放在后面,把他们交换位置,这样就完成了。
7 int tem = a[j];
8 a[j] = a[j + 1];
9 a[j + 1] = tem;
10 }
11 }
12 }
13 for(int c :a){
14 System.out.println(c);
15 }
16
17 }
18 }
冒泡排序的工作的原理就是把相连的两个数相互比大小,那个大就把它放在后面,小就放在后面就可以了。

Java数组常见的几种排序。的更多相关文章

  1. java数组中的三种排序方法中的冒泡排序方法

    我记得我大学学java的时候,怎么就是搞不明白这三种排序方法,也一直不会,现在我有发过来学习下这三种方法并记录下来. 首先说说冒泡排序方法:冒泡排序方法就是把数组中的每一个元素进行比较,如果第i个元素 ...

  2. 十七、Java中数组常见的几种排序方法!

    转载自:https://www.cnblogs.com/bekeyuan123/p/6891875.html 数组的定义: // 3种定义方式 int[] arr = new int[5]; int[ ...

  3. Java中常见的5种WEB服务器介绍

    这篇文章主要介绍了Java中常见的5种WEB服务器介绍,它们分别是Tomcat.Resin.JBoss.WebSphere.WebLogic,需要的朋友可以参考下 Web服务器是运行及发布Web应用的 ...

  4. 用 Java 实现常见的 8 种内部排序算法

    一.插入类排序 插入类排序就是在一个有序的序列中,插入一个新的关键字.从而达到新的有序序列.插入排序一般有直接插入排序.折半插入排序和希尔排序. 1. 插入排序 1.1 直接插入排序 /** * 直接 ...

  5. java数组复制的几种常见用法

    1.1数组复制的几种常见用法 1.1.1System.arraycopy的用法 int[] src = {1,3,5,7,9,11,13,15,17}; int[] dest = {2,4,6,8,1 ...

  6. java中常见的几种Runtimeexception

    转自http://blog.csdn.net/qq635785620/article/details/7781026 一般面试中java Exception(runtimeException )是必会 ...

  7. c语言常见的几种排序方法总结

    一:选择排序和冒泡排序 这两种排序比较简单,直接贴出代码: #include <stdio.h> void choose_sort(int *arr, int n); void bubbl ...

  8. Java 数组声明的几种方式

    Java数组定义声明的几种方法: 1. 类型名称[] 变量名=new 类型名称[length]; 2.类型名称[] 变量名={?,?,?}; 3.类型名称[] 变量名=new 类型名称[]{?,?,? ...

  9. Java数组拷贝的五种方法

    在Java中有多种方法可以拷贝一个数组,到另外一个数组. 1.循环拷贝 在循环拷贝方法中,只需要利用i,移动指针即可复制所有数组到arrayB中. for(int i=0;i<arrayA.le ...

  10. php常见的几种排序以及二分法查找

    <?php 1.插入排序 思想: 每次将一个待排序的数据元素插入到前面已经排好序的数列中,使数列依然有序,知道待排序数据元素全部插入完为止. 示例: [初始关键字] [49] 38 65 97 ...

随机推荐

  1. Vocabulary

    词汇(Vocabulary) blackmail ( n.) :the obtaining of money or advancement by threatening to make known u ...

  2. Tarjan强连通分量详解

    1.简介: 在阅读下列内容之前,请务必了解 图论相关概念 中的基础部分. 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通. 强连通分量(Strongly Connected Compo ...

  3. 网格布局grid

    起因 昨天面试的时候,出了一道面试题,模拟面试公司的列表的元素宽度伸缩变化,根据屏幕大小的不同,一行上放置最多的元素,元素宽度不固定,间距固定,可换行,靠左对齐,当时猜出来用flexjs监听resiz ...

  4. 用结构化思维解一切BUG(1):核心思路

    面对万"卷"世界,有人选择拼命学习新技术,解决眼前的.点状问题:有人提升思维层级,解决未来的.系统问题.您选择什么? 背景 我有10多年编程经验和研发管理经历,虽很久不写代码,但有 ...

  5. Xmind思维导图工具2023最新专业版破解思路

    工具介绍 XMind 是一款最为流行的专业级思维_导图_制作与编辑软件,它现在在全球范围内都已极具名气,可谓是办公.学习.团队交流必备工具之一. 准备工作 1,官方Xmind软件 2,一个心意的编辑器 ...

  6. Apache Hudi Timeline:支持 ACID 事务的基础

    Apache Hudi 维护在给定表上执行的所有操作的Timeline(时间线),以支持以符合 ACID 的方式高效检索读取查询的数据. 在写入和表服务期间也会不断查阅时间线,这是表正常运行的关键. ...

  7. c#利用反射获取枚举的信息

    1.将不同的枚举类型作为形参传入某函数内时,形参为Enum,在函数体内进行类型强转. private T GetEnumType<T>(object o) { T enumVal = (T ...

  8. 【MySQL】MySQL中的锁

    全局锁 全局锁是对整个数据库实例加锁,整个库处于只读状态. flush tables with read lock 适用场景 全局锁适用于做全库逻辑备份,但是整个库处于只读状态,在备份期间,所有的更新 ...

  9. 使用Jenkins构建镜像:将应用打包成镜像

    学习某册子的CICD,记录使用Jenkins构建镜像的过程. 使用Jenkins集成Git来构建Docker镜像,为后面的部署准备镜像资源. 1. 安装Nodejs环境 如果想要安装Node环境,有以 ...

  10. vue 组件之间的自定义方法互相调用

    1,先定义一个中间通信文件js globalBus.js import Vue from 'vue'; export const globalBus = new Vue(); 2,A.vue组件的方法 ...