JAVA数组排序有好多种,以下简单对冒泡排序(bubble—srot)、插入排序(insertion-sort)、选择排序(selection-sort)加以描述。
由于JAVA数组声明书写的规范很灵活,导致经常会犯一些不起眼错误。
//冒泡排序
//冒泡排序方法
public int[] bubble_sort(int[] array){
for (int i=0;i<array.lengh-1;i++){ //注意:最后一个元素不用再和自己做比较
for (int j=i+1;j<array.lengh;j++){ //得到最后小数就把它放在
if (array[i]>array[j]){ //最左边
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array; //返回已经排序后的数组
}
冒泡排序总结:数组是连续的不间断的一组数据,比较“第一趟”的时候,从数组最左端的数开始依次用这个数和“它”右边数作比较,如果发现有比它小的,立即交换,以保证在最左端的数还是最小的。接着比较“第二趟”的时候,以数组左端第二个数(此时左端的第一个数数已经是整个数组中最小的数了)开始重复上面的比较........直到比较到"array.lengh-1"趟,因为最后两个数比较出大小以后,最后一个数没有必要再和自己比较大小了。此时整个数组排序完毕!!!!数组从左至右数据从小到大。
//选择排序
//选择排序其实就是一个“贴标签”的过程
//选择排序方法
public int[] selection_sort(int[] array){
for (int i=0;i<array.lengh-1;i++){
//默认第i个数就是最小的数
int min_index = i;
for (int j=i+1;j<array.lengh;j++){
//找到比“默认”最小数还小的数的时候把“最小数的标签"贴在新的最小数背上
if (array[min_index]>array[j])
min_index = j;
}
//直到这一趟比较完所有数时,把最小数放到最左边,接着又来比较其他的数
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
选择排序总结:排序的关键就是一个贴标签的过程,这个标签上印有"最小数"三个字,比较完一趟时把最小数放在最左边,接着比较下面的数,最后就达到理想的效果了。
//插入排序
//何所谓插入排序呢?新来新当兵,比试一番自见分晓,是骡子是马拉出来遛遛就知道了
public int[] insertion_sort(int[] array){
//每一次加入一个新数和原来已经排好序的数比较
for (int i=1;i<array.lengh;i++)
for (int j=i;j>0;j--){ //注意:避免数组越界
//因为在插入新数之前已经是有一部分排好顺序了,所以新数从右往左一旦找到比自己大的数就立即插进去就行了
if (array[j]<array[j-1])
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
return array;
}
插入排序总结:新来新单兵。
分享到:
相关推荐
### Java冒泡排序方法详解 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到...
例如,对于小规模数据,简单排序算法可能就足够了;而对于大规模数据,高效的排序算法如快速排序或归并排序会更合适。同时,现代Java库(如`Arrays.sort()`方法)通常使用更高级的排序算法,如TimSort,它结合了稳定...
以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...
冒泡排序是一种简单的排序方法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字...
例如,对于小规模数据,简单排序如冒泡或插入排序可能就足够了;而对于大规模数据,快速排序、归并排序或堆排序更为合适。了解和掌握这些排序算法的原理和Java实现,能帮助我们更好地解决实际问题,提高代码性能。...
例如,对于小规模数据,简单排序算法可能就足够了;而对于大规模数据,快速排序或归并排序可能是更好的选择。 了解并掌握这些排序算法,不仅可以提高代码效率,也有助于培养分析问题和解决问题的能力。在编程竞赛或...
总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...
- **定义**:直接插入排序是一种简单的排序方法,它的工作原理是将一个记录插入到已排序好的有序表中,从而得到一个新的、记录增1的有序表。 - **时间复杂度**: - 最好情况:O(n),即当输入数组已经是排序好的情况...
在编程领域,排序算法是计算机科学中的重要组成部分,特别...排序总结文件可能会包含这些算法的比较分析、性能测试以及如何根据具体情况选择合适算法的指导。理解和掌握这些排序算法对于提升Java程序员的技能至关重要。
从给定的文件信息中,我们可以提炼出关于Java中几种主要排序算法的详细知识点,包括插入排序、希尔排序、选择排序、堆排序以及交换排序。下面将深入探讨这些排序算法的特点、工作原理以及它们的稳定性与时间复杂度。...
### JAVA排序算法总结 在计算机科学领域,排序算法是数据处理和分析中极其重要的组成部分,尤其是在使用Java语言进行开发时。本文将针对常用的几种排序算法进行详细的总结与解析,包括它们的基本原理、时间复杂度、...
### 插入排序Java代码详解 #### 一、插入排序简介 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,...
总结,直接插入排序和希尔排序都是基于插入排序的改进方法,适用于小规模或部分有序的数据。直接插入排序简单易懂,适合数据量较小的情况,而希尔排序则通过分组和减小增量提高了效率,尤其对于大规模数据有一定优势...
总结一下,Java插入排序是通过创建一个`InsertionSort`类,定义一个`sort`方法,对给定的一维整型数组进行逐个元素的比较和移动,从而达到排序的目的。这种方法直观易懂,但效率较低,适合于小规模或基本有序的数据...
这份文档名为“java排序总结.pdf”,是一份关于Java中常用排序算法的总结资料。文档中详细介绍了三种基本的排序方法:冒泡排序(Bubble Sort)、选择排序(Selection Sort)和插入排序(Insertion Sort),并提供了...
### Java排序方法面试知识点详解 在Java编程领域中,排序算法是面试中常见的技术考察点之一。本篇文章将深入分析几种基本的排序算法,并通过具体的Java代码示例来阐述每种算法的特点及其应用场景。 #### 1. 插入...
下面是一个简单的Java代码示例,用于对一个整型数组进行升序排序: ```java public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i ; i++) { for (int...
冒泡排序由于其简单直观的特性,易于理解和实现,而快速排序则以其较高的效率在数据量较大时展现出优势。 首先,让我们来看冒泡排序算法。冒泡排序通过重复地遍历要排序的数列,一次比较两个元素,并在顺序错误的...
总结来说,这三种排序算法各有特点,直接插入排序适合小规模或部分有序的数据,希尔排序在效率上优于直接插入排序,而简单选择排序则适用于理解排序概念的初学者。在实际编程中,根据数据特性和性能需求,开发者会...
2. **简单选择排序**: - **平均情况时间复杂度**:O(n^2) - **最好情况时间复杂度**:O(n^2) - **最坏情况时间复杂度**:O(n^2) - **辅助空间复杂度**:O(1) - **稳定性**:不稳定 - **原理**:通过遍历未...