`
IT阿狸
  • 浏览: 67846 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java中的冒泡排序,选择排序,插入排序

阅读更多

一、冒泡排序

/**
 * 冒泡排序
 * 
 * @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实现冒泡排序

    下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { // 外层循环控制遍历次数 for (int...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    在Java中,冒泡排序的基本思路是使用两个for循环,外层循环控制比较的轮数,内层循环用于两两比较并交换。改进的冒泡排序通常包括设置标志位来检测是否已经完成排序,以及添加一个提前退出循环的条件,当某次遍历...

    JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序

    本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...

    冒泡排序 算法(冒泡,选择,插入,数组排序)

    总的来说,这段代码提供了四种排序算法的实现,分别是冒泡排序、选择排序、插入排序以及Java内置的数组排序。每种排序算法都有其适用场景,理解这些算法可以帮助我们更好地解决实际问题,并根据需求选择合适的排序...

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    java快速排序、冒泡排序、插入排序示例

    以上就是Java中快速排序、冒泡排序和插入排序的实现方式。快速排序的平均时间复杂度为O(n log n),冒泡排序和插入排序的平均时间复杂度为O(n^2)。在实际应用中,快速排序通常优于其他两种排序,尤其是在大数据量时。...

    java 冒泡法、选择法、插入法排序实现代码

    在`Insert.java`文件中,插入排序的实现可能包括: - 初始化已排序部分为第一个元素,然后逐个将后续元素与已排序部分的元素比较,并在合适位置插入。 - 每次插入一个新元素,都会导致已排序部分增加一个元素。 ...

    选择排序、冒泡排序、插入排序

    本文将详细介绍三种经典的排序算法:选择排序、冒泡排序和插入排序,并结合Java代码进行分析。 ### 1. 选择排序(Selection Sort) 选择排序的主要思想是每次从待排序的数据元素中选出最小(或最大)的一个元素,...

    插入排序冒泡排序堆排序基数排序选择排序快速排序源码

    例如,插入排序和选择排序适合小规模数据,冒泡排序虽然效率较低但实现简单,堆排序和快速排序在处理大规模数据时有较好性能,而基数排序则能处理非负整数排序。在实际开发中,根据具体需求选择合适的排序算法是非常...

    java冒泡排序,插入排序,堆排序源码(终端输入,可以选择排序方法)

    在本文中,我们将深入探讨Java编程中的三种基本排序算法:冒泡排序、插入排序和堆排序。这些排序算法是计算机科学中的基础知识,尤其对于初学者来说,理解和实现它们至关重要。我们将详细讲解每种排序算法的工作原理...

    java插入冒泡选择三大排序

    Java中常见的三大排序算法包括插入排序、冒泡排序和选择排序。这三种排序算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程技能非常有帮助。 **1. 插入排序** 插入排序是一种简单直观的排序算法,它的...

    冒泡排序、直接插入排序 等java代码

    本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...

    插入 选择 冒泡排序

    在本文中,我们将深入探讨三种基本的排序算法:插入排序、选择排序和冒泡排序。这些算法是计算机科学中基础且重要的部分,特别是在理解数据结构和算法效率方面。以下是对每种排序算法的详细说明: **插入排序...

    java排序算法插入选择冒泡

    java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡

    用java实现冒泡排序算法

    虽然冒泡排序不一定要进行 n-1 趟,但由于它的记录移动次数较多,故平均时间性能比直接插入排序要差得多。 (4)算法稳定性:稳定 冒泡排序是就地排序,且它是稳定的。 5. 算法改进 冒泡排序还可以做如下的改进...

    java选择、插入、冒泡排序

    本文将详细讲解 Java 中的选择排序、插入排序以及冒泡排序,这三种经典的排序算法。 **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或...

    JAVA排序大全 冒泡 快速 选择 归并排序

    JAVA排序大全 冒泡 快速 选择 归并排序

    冒泡排序java实现

    标签中的“八大排序”指的是计算机科学中常见的八种排序算法:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、希尔排序和计数排序。这些排序算法各有特点,适用场景也不同,理解它们可以帮助我们更好地...

    java直接选择、直接插入、冒泡排序算法源代码(blueJ打包)

    本资源提供了三种经典的排序算法:直接选择排序、直接插入排序和冒泡排序的源代码实现,这些代码以类的形式封装,方便理解和维护。 1. 直接选择排序: 直接选择排序的基本思想是从待排序的数据元素中选出最小(或...

Global site tag (gtag.js) - Google Analytics