Java几种常见的排序冒泡排序、选择排序、插入排序
public class Sort {
//冒泡排序
public int[] BubbleSort(int[] a){
int length=a.length-1;
int t;
for(int i=0;i<=length;i++){
for(int j=0;j<length;j++){
if(a[j+1]<=a[j]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
return a;
}
//选择排序
public int[] selectSort(int[] a){
int length=a.length-1;
int min,k,t;
for(int i=0;i<=length;i++){
min=a[i]; k=i;
for(int j=i+1;j<=length;j++){
if(a[j]<min){
k=j;
min=a[j];
}
}
if(k!=i){
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
return a;
}
//插入排序
public int[] insertSort(int[] a){
int length=a.length;
int t;
for(int i=1;i<length;i++){
for(int j=i;j>0;j--){
if(a[j]<a[j-1]){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
else
break;
}
}
return a;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={9,6,7,2,8,1};
Sort s=new Sort();
//测试冒泡排序
//s.BubbleSort(a);
//测试选择排序
//s.selectSort(a);
//测试插入排序
s.insertSort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
冒泡排序时间复杂度:o(n^2),是稳定的排序;选择排序时间复杂度:o(n^2),是不稳定的排序;插入排序时间复杂度:o(n^2),是稳定的排序;相比较冒泡排序和插入排序比选择排序稳定,优于选择排序。
分享到:
相关推荐
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
//冒泡排序 for(int i=0;i;i++){ for(int j=i+1;j;j++){//注意j的开始值是i+1,因为按照排序规则,比a[i]大的值都应该在它后面 if(a[i] > a[j]){ int temp = a[j]; a[j] = a[i]; a[i] = temp; ...
用java实现了以下算法: 1、冒泡排序、冒泡排序的两种改进。 2、插入排序。 3、选择排序。 4、希尔排序。 5、归并排序。 6、快速排序。
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
java可运行排序算法:①插入排序、②冒泡排序、③选择排序、④学生学号按照成绩高低排序的一个简单实例。在java工程项目的源文件src中建立Array包,可运行这四个.java文件,便于对java中的排序算法及数组结构进一步...
java实现排序,各种排序算法,冒泡排序,选择排序,插入排序等等
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
idea项目:一个主类选择调用6个排序类,记录了学习排序算法的过程,可以自己更改优化,每一种排序是一个类,有需要可以copy走,可重用性强
java选择排序等排序算法资源,java排序算法源代码(包括冒泡排序,选择排序,插入排序)
八种排序算法原理及Java实现是排序算法中的一种,包括冒泡排序、快速排序、直接插入排序、希尔排序、选择排序、归并排序和基数排序等。 冒泡排序是八种排序算法中的一种,属于交换排序。冒泡排序的基本思想是重复...
Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...
用java语言实现冒泡排序、插入排序、堆排序、快速排序、归并排序、希尔排序、桶排序,并且对各种排序算法进行性能的比较。
在实验中,我们使用 Java 语言实现了选择排序、冒泡排序和插入排序的算法,并对其进行了测试。实验结果表明,蛮力法和减治法可以有效地解决排序问题,而分治法也可以用于解决复杂的算法问题。 五、结论 蛮力法、减...
使用java实现的4种排序算法(冒泡、快速、插入、选择),采用随机生成一个数组,然后进行排序。
三种冒泡排序算法的例子,比较区别与联系!
一般来说,当数据规模较小时,应选择直接插入排序或冒泡排序。当数据规模较大时,应选择快速排序或堆排序。如果数据类型是正整数,可以考虑使用桶排序。如果数据已有顺序,可以考虑使用冒泡排序。 总结 Java 排序...
Java排序算法:插入,冒泡,选择,Shell,快速排序,归并排序,堆排序,桶式排序,基数排序
SortUtil 是一个 Java 实现的排序算法工具类,提供了多种排序算法的实现,包括冒泡排序、选择排序、插入排序、希尔排序、快速排序、改进快速排序、归并排序、改进归并排序和堆排序等。 SortUtil 类中提供了一个静态...
1直接插入排序 * 基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序 2冒泡排序 * 基本...