几种排序算法的java实现
import java.util.Arrays; /**
* 各种排序算法从小到大进行排序
*/
public class Test { public static void main(String args[]) {
int[] n = { 5, 2, 3, 4, 1 };
int[] n1, n2, n3;
n1 = n2 = n3 = Arrays.copyOf(n, n.length); System.out.println("原来的数组:");
printArray(n); selectionSort(n1);
System.out.println("\n选择排序后:");
printArray(n1); bubbleSort(n2);
System.out.println("\n冒泡排序后:");
printArray(n2); insertionSort(n3);
System.out.println("\n插入排序后:");
printArray(n3);
} /** 选择排序:首先确定的是最小元素 */
private static void selectionSort(int number[]) {
for (int i = 0; i < number.length - 1; i++) {
// 对当前无序区间score[i......length-1]进行排序
for (int j = i + 1; j < number.length; j++) {
if (number[i] > number[j]) {
int temp = number[i];
number[i] = number[j];
number[j] = temp;
}
} }
} /** 冒泡排序:最先确定的是最大的元素 */
private static void bubbleSort(int number[]) {
for (int i = 0; i < number.length - 1; i++) {
// 对当前无序区间score[0......length-i-1]进行排序
for (int j = 0; j < number.length - i - 1; j++) {
if (number[j] > number[j + 1]) {
int temp = number[j];
number[j] = number[j + 1];
number[j + 1] = temp;
}
}
}
} /** 插入排序:不断将元素插入到已经排好序的数据(注意插入的顺序) */
private static void insertionSort(int[] list) {
for (int i = 1; i < list.length; i++) {
int currentElement = list[i];
// 把list[i]插入到list[0]~list[i-1]之间,这样list[0]~list[i]就排好序了
int j;
for (j = i - 1; j >= 0 && list[j] > currentElement; j--) {
list[j + 1] = list[j];
}
// 把当前元素插入到list[j+1]
list[j + 1] = currentElement;
}
} /** 打印数组中的元素 */
private static void printArray(int number[]) {
for (int i : number) {
System.out.print(i + "\t");
}
}
}
运行结果:

几种排序算法的java实现的更多相关文章
- 几种排序算法及Java实现排序的几种方式
几种排序算法 下面的例子介绍了4种排序方法: 冒泡排序, 选择排序, 插入排序, 快速排序 package date201709.date20170915; public class SortUtil ...
- 必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序
冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个 ...
- 必须知道的八大种排序算法【java实现】
一.冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
一.选择排序 1.基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换:然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止. 2.实例 3.算法 ...
- 必须知道的八大种排序算法【java实现】(三) 归并排序算法、堆排序算法详解
一.归并排序算法 基本思想: 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并 ...
- 一遍记住 8 种排序算法与 Java 代码实现
☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜ 作者:KaelQ, www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经 ...
- 几种简单的排序算法(JAVA)
几种排序算法(JAVA) 一.代码 package com.hdwang; import java.util.Arrays; /** * Created by admin on 2017/1/20. ...
- 7种基本排序算法的Java实现
7种基本排序算法的Java实现 转自我的Github 以下为7种基本排序算法的Java实现,以及复杂度和稳定性的相关信息. 以下为代码片段,完整的代码见Sort.java 插入排序 /** * 直接插 ...
- Java实现八种排序算法(代码详细解释)
经过一个多星期的学习.收集.整理,又对数据结构的八大排序算法进行了一个回顾,在测试过程中也遇到了很多问题,解决了很多问题.代码全都是经过小弟运行的,如果有问题,希望能给小弟提出来,共同进步. 参考:数 ...
随机推荐
- Win7开机提示group policy client无法登陆怎么办
1 开机按F8,进入安全模式 2 进入系统之后运行注册表,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prof ...
- [转]bing壁纸天天换 初识shell魅力
原文链接:http://www.cnblogs.com/atskyline/p/3679522.html 原文的程序跑在window上,curl的使用不太一样,想要获取的图片也不太一样.修改后的代码如 ...
- virtualbox使用相关问题
官方下载地址: http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html VirtualBox主 ...
- AngularJS监听DOM加载完毕
直接上代码: Module.directive('renderFinish', function ($timeout) { //renderFinish自定义指令 return { restrict: ...
- Win7下Python WEB环境搭建
环境介绍: Win7 64位 SP1 Python:2.7.6 网关接口:flup Nginx安装:http://blog.csdn.net/jacson_bai/article/details/46 ...
- 禁止 git 自动转换换行符
开发团队都在 windows 下开发,有IDE管理代码.对我们来说,最好是禁用换行转换符的功能.我用 cygwin 提交代码,提交时总提示自动转换换符.其实都不用提交,仅运行 git status 看 ...
- [Exception Spring 1] - Attribute value must not be null
java.lang.IllegalArgumentException: Attribute value must not be null at org.springframework.util.Ass ...
- 让你的 wowza server提供 RESTful web 服务
有时我们 nginx 须要和 wowza 服务器交互以进行一些 LB 事宜:有时我们的管理员须要实时了解 wowza 服务器的一些其它状态信息(比方一些自己定义对象的状态等等).而用 ...
- ubuntu卸载第三方库
下面以pcl和opencv为例进行说明. 参考资料: https://www.cnblogs.com/txg198955/p/5990295.html ubuntu卸载opencv并重装opencv ...
- LoadRunner+Android模所器实现抓包并调试本地服务端
步骤就是 1:新建LR脚本.协议选择Mobile Application - HTTP/HTML 2:在record里选择第三个:Record Emulator........ 3: 选择下一步后, ...