三种比较排序算法,java实现
来源:互联网 发布:c 游戏编程基础 编辑:程序博客网 时间:2024/06/01 23:08
冒泡排序:
最简单的排序算法。基本思想是迭代地对输入序列中的第一个元素到最后一个元素进行两两比较,当需要师交换两个元素(位置)。该过程持续迭代值到在一堂排序过程中不需要交换操纵为止。
import java.util.Arrays;public class BubbleSort {public static int[] bubbleSort(int[] ts) {int length = ts.length;boolean flag = false;for(int i = length - 1; i >= 0; i--) {flag = true;for(int j = 0; j < i; j++) {if(ts[j] > ts[j + 1]) {int tmp = ts[j];ts[j] = ts[j + 1];ts[j + 1] = tmp;flag = false;}}System.out.println(Arrays.toString(ts));if(flag) {System.out.println(length - i);break;}}return ts;}}
寻找序列中的最小值,
用当前位置的值交换最小值
对所有元素重复上述过程,知道整个序列排序完成
public class SelectSort {public static int[] selectSort(int[] ts) {int length = ts.length;int min = 0;for(int i = 0; i < length; i++) {min = i;for(int j = i; j < length; j++) {if(ts[min] > ts[j]) {min = j;}}if(min != i) {int tmp = ts[i];ts[i] = ts[min];ts[min] = tmp;}}return ts;}}
插入排序:
在每次迭代过程中算法随机地从输入序列中移除一个元素,并将该元素插入待排序序列的正确位置。重复该过程。直到所有输入元素都被选择一次
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #931a68}span.s1 {color: #931a68}span.s2 {color: #7e504f}span.s3 {color: #0326cc}span.s4 {color: #000000}span.Apple-tab-span {white-space:pre}import java.util.Arrays;
public class InsertionSort {
public static int[] insertSort(int[] a) {
int length = a.length;
int v = 0, j = 0;
for(int k = 2; k < length; k ++) {
v = a[k];
j = k;
while(a[j - 1] > v && j >= 0) {
a[j] = a[j - 1];
j --;
}
a[j] = v;
System.out.println(Arrays.toString(a));
}
return a;
}
}
阅读全文
0 0
- 三种比较排序算法,java实现
- 三种初级排序算法(冒泡、选择、直接插入)java实现及其性能比较
- Java实现三种排序算法
- java三种排序算法的实现
- Java实现排序算法(三)
- 排序算法JAVA实现三
- java三种排序比较
- [排序算法]--冒泡排序的三种实现(Java)
- [排序算法]--直接插入排序的三种实现(Java)
- 比较排序算法的Java实现
- java实现各种排序算法及比较
- java实现各种排序算法及比较
- 各种排序算法的原理、Java实现与比较分析(三)
- 三种排序算法的比较
- 算法 排序算法之冒泡排序(三种算法 Java实现)
- 三种简单排序算法(java实现)
- 三种简单的排序算法(java实现)
- 三大基础排序算法java实现
- UITabBarController(三)自定义UITabBar方式二
- 深入理解Java虚拟机:JVM高级特性与最佳实践 第2版 高清PDF [转载]
- 延迟与定时任务
- 1002: C语言程序设计教程(第三版)课后习题1.6
- HDU 5573 Binary Tree ACM/ICPC 2015 Shanghai(构造)
- 三种比较排序算法,java实现
- 了解非堆内存的参数配置
- 解析xml文件的四种方式
- SpringMVC 学习笔记2
- SpringMVC 学习笔记3
- SpringMVC 学习笔记4
- SpringMVC 学习笔记5
- windows核心编程---windows线程池
- SpringMVC 学习笔记6