一、冒泡排序
/** * 冒泡排序 * * @author miao * */ public class BubbleSort { /** * 用Java写出一个冒泡排序程序,输入10个整数,输出排序结果 * * @param args */ public static void main(String[] args) { // 需要排序的数组 int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 }; // 调用排序方法 bubbleSort(a); // 遍历输出结果 for (int i = 0; i < 10; i++) { System.out.printf("%d ", a[i]); } } /** * 排序 * * @param source */ public static void bubbleSort(int[] source) { for (int i = source.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { if (source[j] > source[j + 1]) { swap(source, j, j + 1); } } } } /** * 交换两数 * * @param source * @param x * @param y */ private static void swap(int[] source, int x, int y) { int temp = source[x]; source[x] = source[y]; source[y] = temp; } }
二、选择排序
/** * 选择排序 * * @author miao * */ public class SelectionSort { /** * 用Java写出一个选择排序,输入10个整数,输出排序结果 * * @param args */ public static void main(String[] args) { // 需要排序的数组 int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 }; // 调用排序方法 selectionSort(a); // 遍历输出结果 for (int i = 0; i < 10; i++) { System.out.printf("%d ", a[i]); } } /** * 选择 * * @param source */ public static void selectionSort(int[] source) { for (int i = 0; i < source.length; i++) { for (int j = i + 1; j < source.length; j++) { if (source[i] > source[j]) { swap(source, i, j); } } } } /** * 交换两数 * * @param source * @param x * @param y */ private static void swap(int[] source, int x, int y) { int temp = source[x]; source[x] = source[y]; source[y] = temp; } }
三、插入排序
/** * 插入排序 * * @author miao * */ public class InsertSort { /** * 用Java写出一个插入排序,输入10个整数,输出排序结果 * * @param args */ public static void main(String[] args) { // 需要排序的数组 int[] a = { 4, 2, 1, 6, 3, 6, 0, -5, 1, 1 }; // 调用排序方法 insertSort(a); // 遍历输出结果 for (int i = 0; i < 10; i++) { System.out.printf("%d ", a[i]); } } /** * 插入 * * @param source */ public static void insertSort(int[] source) { for (int i = 0; i < source.length; i++) { for (int j = i; (j > 0) && (source[j] < source[j - 1]); j--) { swap(source, j, j - 1); } } } /** * 交换两数 * * @param source * @param x * @param y */ private static void swap(int[] source, int x, int y) { int temp = source[x]; source[x] = source[y]; source[y] = temp; } }
相关推荐
例如,冒泡排序和插入排序简单但效率较低,适合小规模数据;堆排序和快速排序在中大规模数据上表现良好,但快速排序的不稳定性和堆排序的空间复杂度是需要注意的问题;归并排序和希尔排序在稳定性上有优势,而桶排序...
下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 for (int...
在Java中,冒泡排序的基本思路是使用两个for循环,外层循环控制比较的轮数,内层循环用于两两比较并交换。改进的冒泡排序通常包括设置标志位来检测是否已经完成排序,以及添加一个提前退出循环的条件,当某次遍历...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
总的来说,这段代码提供了四种排序算法的实现,分别是冒泡排序、选择排序、插入排序以及Java内置的数组排序。每种排序算法都有其适用场景,理解这些算法可以帮助我们更好地解决实际问题,并根据需求选择合适的排序...
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
以上就是Java中快速排序、冒泡排序和插入排序的实现方式。快速排序的平均时间复杂度为O(n log n),冒泡排序和插入排序的平均时间复杂度为O(n^2)。在实际应用中,快速排序通常优于其他两种排序,尤其是在大数据量时。...
在`Insert.java`文件中,插入排序的实现可能包括: - 初始化已排序部分为第一个元素,然后逐个将后续元素与已排序部分的元素比较,并在合适位置插入。 - 每次插入一个新元素,都会导致已排序部分增加一个元素。 ...
本文将详细介绍三种经典的排序算法:选择排序、冒泡排序和插入排序,并结合Java代码进行分析。 ### 1. 选择排序(Selection Sort) 选择排序的主要思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,...
例如,插入排序和选择排序适合小规模数据,冒泡排序虽然效率较低但实现简单,堆排序和快速排序在处理大规模数据时有较好性能,而基数排序则能处理非负整数排序。在实际开发中,根据具体需求选择合适的排序算法是非常...
在本文中,我们将深入探讨Java编程中的三种基本排序算法:冒泡排序、插入排序和堆排序。这些排序算法是计算机科学中的基础知识,尤其对于初学者来说,理解和实现它们至关重要。我们将详细讲解每种排序算法的工作原理...
Java中常见的三大排序算法包括插入排序、冒泡排序和选择排序。这三种排序算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程技能非常有帮助。 **1. 插入排序** 插入排序是一种简单直观的排序算法,它的...
本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...
在本文中,我们将深入探讨三种基本的排序算法:插入排序、选择排序和冒泡排序。这些算法是计算机科学中基础且重要的部分,特别是在理解数据结构和算法效率方面。以下是对每种排序算法的详细说明: **插入排序...
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
虽然冒泡排序不一定要进行 n-1 趟,但由于它的记录移动次数较多,故平均时间性能比直接插入排序要差得多。 (4)算法稳定性:稳定 冒泡排序是就地排序,且它是稳定的。 5. 算法改进 冒泡排序还可以做如下的改进...
本文将详细讲解 Java 中的选择排序、插入排序以及冒泡排序,这三种经典的排序算法。 **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或...
JAVA排序大全 冒泡 快速 选择 归并排序
标签中的“八大排序”指的是计算机科学中常见的八种排序算法:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、希尔排序和计数排序。这些排序算法各有特点,适用场景也不同,理解它们可以帮助我们更好地...
本资源提供了三种经典的排序算法:直接选择排序、直接插入排序和冒泡排序的源代码实现,这些代码以类的形式封装,方便理解和维护。 1. 直接选择排序: 直接选择排序的基本思想是从待排序的数据元素中选出最小(或...