public class SortDemo{
private int[] sortArray;
public SortDemo(){
sortArray=new int[8];
}
public void swap(int i,int j){
int t=sortArray[i];
sortArray[i]=sortArray[j];
sortArray[j]=t;
}
public void insertArray(int pos,int val){
sortArray[pos]=val;
}
/*将数组要比较的首个元素与后面所有元素比较大小,然后不符合要求的进行调换,否则不变。*/
public void selectSort(){
int t,tt;
for(int j=0;j<sortArray.length-1;j++){
for(int i=j+1;i<sortArray.length;i++){
if(sortArray[i]<sortArray[j]) swap(i,j);
}
}
}
/*exchange记录了交换的终点,每次比较都将至少排好一个数,而使在下一次要比较的数至少少一位*/
public void bubbleSort(){
int exchange=sortArray.length;
int bound;
while(exchange!=0){
bound=exchange-1;
exchange=0;
for(int i=0;i<bound;i++){
if(sortArray[i]>sortArray[i+1]){
swap(i,i+1);
exchange=i+1;
}
}
}
}
public void insertSort(){
for(int i=1;i<sortArray.length;i++){
int temp=sortArray[i];
int j=i;
while(j>0&&temp<sortArray[j-1]){
sortArray[j]=sortArray[j-1];
j--;
}
sortArray[j]=temp;
}
}
public void showResult(){
for(int i =0;i<sortArray.length;i++)
System.out.print(sortArray[i]+" ");
System.out.println("");
}
public static void main(String[] args){
SortDemo so=new SortDemo();
so.insertArray(0,2);
so.insertArray(1,23);
so.insertArray(2,22);
so.insertArray(3,12);
so.insertArray(4,42);
so.insertArray(5,32);
so.insertArray(6,62);
so.insertArray(7,52);
so.showResult();
so.selectSort();
so.showResult();
so.bubbleSort();
so.showResult();
so.insertSort();
so.showResult();
}
分享到:
相关推荐
例如,冒泡排序和插入排序简单但效率较低,适合小规模数据;堆排序和快速排序在中大规模数据上表现良好,但快速排序的不稳定性和堆排序的空间复杂度是需要注意的问题;归并排序和希尔排序在稳定性上有优势,而桶排序...
这些排序算法各有优缺点,如冒泡排序和插入排序简单但效率较低,适用于小规模数据;选择排序和希尔排序在特定情况下有较好的性能;归并排序和快速排序则在大多数情况下都能提供较高的效率,尤其是快速排序,是实际...
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
本文将详细介绍三种经典的排序算法:选择排序、冒泡排序和插入排序,并结合Java代码进行分析。 ### 1. 选择排序(Selection Sort) 选择排序的主要思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,...
在`Insert.java`文件中,插入排序的实现可能包括: - 初始化已排序部分为第一个元素,然后逐个将后续元素与已排序部分的元素比较,并在合适位置插入。 - 每次插入一个新元素,都会导致已排序部分增加一个元素。 ...
本文将详细讲解 Java 中的选择排序、插入排序以及冒泡排序,这三种经典的排序算法。 **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或...
在本文中,我们将深入探讨Java编程中的三种基本排序算法:冒泡排序、插入排序和堆排序。这些排序算法是计算机科学中的基础知识,尤其对于初学者来说,理解和实现它们至关重要。我们将详细讲解每种排序算法的工作原理...
Java中常见的三大排序算法包括插入排序、冒泡排序和选择排序。这三种排序算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程技能非常有帮助。 **1. 插入排序** 插入排序是一种简单直观的排序算法,它的...
例如,插入排序和选择排序适合小规模数据,冒泡排序虽然效率较低但实现简单,堆排序和快速排序在处理大规模数据时有较好性能,而基数排序则能处理非负整数排序。在实际开发中,根据具体需求选择合适的排序算法是非常...
下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 for (int...
本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...
总的来说,这段代码提供了四种排序算法的实现,分别是冒泡排序、选择排序、插入排序以及Java内置的数组排序。每种排序算法都有其适用场景,理解这些算法可以帮助我们更好地解决实际问题,并根据需求选择合适的排序...
本资源包含了几种基本的排序算法,如冒泡排序、选择排序和插入排序,这些都是理解和学习算法的基础。 **冒泡排序**是最基础的排序算法之一,它通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把...
在本文中,我们将深入探讨三种基本的排序算法:插入排序、选择排序和冒泡排序。这些算法是计算机科学中基础且重要的部分,特别是在理解数据结构和算法效率方面。以下是对每种排序算法的详细说明: **插入排序...
本篇文章将深入探讨四种基本的排序算法:冒泡排序、选择排序、插入排序以及希尔排序,并结合递归算法的复杂度进行分析。这些排序算法在不同的场景下有不同的效率表现,理解它们的原理和复杂度可以帮助我们更好地选择...
JAVA排序大全 冒泡 快速 选择 归并排序
在本文中,我们将深入探讨Java编程中的三种基本排序算法——冒泡排序、选择排序和插入排序,并结合描述中提到的“排序界面”这一概念,理解如何将这些算法应用于实际的用户交互环境中。首先,让我们逐一了解这三种...