美文网首页
Java 排序

Java 排序

作者: 好成成来了 | 来源:发表于2017-05-17 16:23 被阅读0次

1. 冒泡排序

相邻的元素两两比较,大的往后放,第一次完毕之后,最大值出现了最大索引处。


冒泡排序

<b>外层循环决定比较几大次,内层循环决定了数组内元素之间的比较</b>

需求:
数组元素:{24,69,80,57,13}
请对数组元素进行排序

<pre>
public static void bubbleSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
</pre>

要注意循环中数组的长度的变化第一个length-1是因为只需要比较四次,第二个length-1是为了防止数组的下标越界(arr[j+1),length-i是对应的arr[j]比较的次数的递减。

2. 选择排序

从0索引开始,依次和后面的元素标胶,小的往前方,第一次完毕后,最小值出现在了最小索引处。


选择排序

<b>外层循环决定比较几大次,内层循环决定了数组内元素之间的比较</b>

需求:
数组元素:{24,69,80,57,13}
请对数组元素进行排序
<pre>
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
</pre>

注意外层循环只需要比较length-1次,因为最后一次不需要比较了,用一个索引位置上的元素和其他位置的元素比较,所以内层循环要从第二个位置开始。

相关文章

  • Java比较器(对象排序)

    Java实现排序的方式 自然排序:java.lang.Comparable 定制排序:java.lang.Comp...

  • java排序方法资料

    java排序,效率高的是哪种排序方法 JAVA快速排序(高效) java中常用的几种排序算法 相关代码: /* *...

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • Java 排序

    概述 ​对Java对数组对象进行排序,Java对排序问题的处理。Java排序一般包括基础排序和Lambda Com...

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • 冒泡排序 选择排序

    冒泡排序 java 实现 C 实现 选择排序 java 实现 C 实现

  • 常见排序的java实现

    常见排序的java实现 常见排序java实现 插入排序(二分插入排序) 希尔排序 快速排序(三数中值快排) 冒泡排...

  • Java之——利用Comparator接口对多个排序条件进行处理

    转载源出处 参考: JAVA Comparator 接口排序用法 JAVA Comparator 接口排序用法 ...

  • 排序

    八大排序算法 一、归并排序 递归及非递归的JAVA实现 二、快速排序 快排算法JAVA实现 三、堆排序 堆排序堆排...

网友评论

      本文标题:Java 排序

      本文链接:https://www.haomeiwen.com/subject/qlnztxtx.html