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编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
总的来说,这段代码提供了四种排序算法的实现,分别是冒泡排序、选择排序、插入排序以及Java内置的数组排序。每种排序算法都有其适用场景,理解这些算法可以帮助我们更好地解决实际问题,并根据需求选择合适的排序...
这些排序算法各有优缺点,如冒泡排序和插入排序简单但效率较低,适用于小规模数据;选择排序和希尔排序在特定情况下有较好的性能;归并排序和快速排序则在大多数情况下都能提供较高的效率,尤其是快速排序,是实际...
这里我们将深入探讨标题和描述中提到的六种排序算法:快速排序、归并排序、插入排序、冒泡排序、选择排序以及堆排序。 1. **快速排序**:由C.A.R. Hoare在1960年提出,是一种高效的分治算法。快速排序的基本思想是...
Java 算法:冒泡,选择,插入排序算法
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...
除了冒泡排序之外,还有其他各种高效的排序算法,如快速排序、归并排序、堆排序、插入排序、选择排序等。每种算法都有各自的优势和局限性,适合不同的使用场景。 快速排序是一个高效的排序算法,采用分治法来把一个...
java可运行排序算法:①插入排序、②冒泡排序、③选择排序、④学生学号按照成绩高低排序的一个简单实例。在java工程项目的源文件src中建立Array包,可运行这四个.java文件,便于对java中的排序算法及数组结构进一步...
本资源包含了几种基本的排序算法,如冒泡排序、选择排序和插入排序,这些都是理解和学习算法的基础。 **冒泡排序**是最基础的排序算法之一,它通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把...
java实现排序,各种排序算法,冒泡排序,选择排序,插入排序等等
常见的排序算法有插入排序、交换排序、选择排序、归并排序、分配排序等。 插入排序是最基本的一种排序算法,它将一个记录插入到已经排序好的有序表中。插入排序有直接插入排序和希尔排序两种,直接插入排序的时间...
Java排序算法大全是一份专为Java开发者准备的学习资源,涵盖了各种经典的排序算法,旨在帮助初学者和有经验的程序员深入理解排序的原理和实现。排序是计算机科学中的基础且重要的概念,它在数据处理、数据库操作、...
以下是根据标题和描述中提到的四种排序算法——冒泡排序、快速排序、插入排序和选择排序的详细说明。 **冒泡排序(BuddleSort)**: 冒泡排序是一种简单的交换排序,它通过重复遍历待排序的列表,比较相邻元素并...
本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...
本篇文章将深入探讨四种基本的排序算法:冒泡排序、选择排序、插入排序以及希尔排序,并结合递归算法的复杂度进行分析。这些排序算法在不同的场景下有不同的效率表现,理解它们的原理和复杂度可以帮助我们更好地选择...
在Java编程语言中,排序算法是数据结构与算法学习中的重要组成部分。本实验通过生成大量随机数并写入文件,然后使用四种不同的排序算法进行排序,以比较它们的效率。以下是对这四种排序算法的详细解释: 1. **冒泡...
插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间),它...