`

排序算法整理(转载)

阅读更多
public class Sort {
	public static int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4 }; // 预设数据数组

	public static void main(String args[]) {
		int i; // 循环计数变量
		int Index = a.length;// 数据索引变量
		System.out.print("排序前: ");
		for (i = 0; i < Index - 1; i++)
			System.out.print(" \t" + a[i]);
		System.out.println("");

		InsertSort(Index - 1); // 选择排序
		// 排序后结果
		System.out.print("排序后: ");
		for (i = 0; i < Index - 1; i++)
			System.out.print("\t " + a[i]);
		System.out.println("");
	}

	public static void InsertSort(int Index) {
		int i, j, k; // 循环计数变量
		int InsertNode; // 欲插入数据变量

		for (i = 1; i < Index; i++) // 依序插入数值
		{
			InsertNode = a[i]; // 设定欲插入的数值
			j = i - 1; // 欲插入数组的开始位置
			// 找适当的插入位置
			while (j >= 0 && InsertNode < a[j]) {
				a[j + 1] = a[j];
				j--;
			}
			a[j + 1] = InsertNode; // 将数值插入
			// 打印目前排序结果
			System.out.print("排序中: ");
			for (k = 0; k < Index; k++)
				System.out.print(" " + a[k] + " ");
			System.out.println("");
		}
	}
}
分享到:
评论

相关推荐

    常用排序算法总结 常用排序算法总结 常用排序算法总结

    常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结

    各种排序算法比较(java实现)

    本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...

    Verilog/C++实现排序算法:Verilog/C++实现排序算法:冒泡排序、选择排序、并行全比较排序、串行全比较排序

    本文将探讨如何使用这两种语言实现几种基本的排序算法:冒泡排序、选择排序,以及两种全比较排序(并行和串行)。 首先,让我们了解一下排序算法。排序是计算机科学中最基础的操作之一,它涉及到将一组数据按照特定...

    算法设计与分析-1排序算法性能分析-冒泡/选择/插入/合并/快速排序-pre ppt

    本篇文章将详细讨论几种常见的排序算法:选择排序、冒泡排序、插入排序、合并排序以及快速排序,分析它们的算法原理、时间效率,并通过经验分析验证理论分析的准确性。 **1. 选择排序(Selection Sort)** 选择排序...

    各种排序算法的实验(源代码+实验报告)

    3. **其他可能包含的排序算法**:除了快速排序和堆排序,这个资源可能还包含了其他的排序算法,如冒泡排序、插入排序、选择排序、归并排序、希尔排序、计数排序、桶排序、基数排序等。这些算法各有特点,适用于不同...

    用C语言实现常用排序算法

    本项目旨在实现并比较六种经典的排序算法——直接插入排序、折半插入排序、起泡排序、简单选择排序、堆排序以及2-路归并排序,使用C语言编程。为了全面评估这些算法,我们将在一组随机生成的30000个整数上运行它们,...

    排序算法.pdf

    1. 熟练运用冒泡排序、选择排序、插入排序、希尔排序、快速排序、合并排序、堆排序等七种常见的内排序算法 2. 使用不同的数据结合计算各种算法的运行时间,验证算法的时间复杂性 3. 能够运用二路归并算法进行外排序 ...

    排序算法.doc 详细讲解了插入排序、交换排序、选择排序、归并排序等排序算法的原理以及实现代码

    - 直接插入排序是最基础的排序算法之一,它的工作原理类似于人们手动整理扑克牌。首先,数组中的第一个元素被当作已排序的部分,然后逐个将后续元素插入到已排序的序列中,保持序列的有序性。 - 在排序过程中,每...

    Java排序算法详细整理

    【Java排序算法详细整理】 在计算机科学中,排序算法是用于对一组数据进行排列的算法。在Java中,实现各种排序算法有助于理解数据结构和算法的原理,同时也能提高编程能力。以下是对Java中常见的几种排序算法的详细...

    C++实现希尔、快速、堆排序、归并排序算法

    在编程领域,排序算法是计算机科学中的重要组成部分,特别是在数据处理和算法效率分析上。本文将详细介绍C++中实现的希尔排序、快速排序、堆排序和归并排序这四种经典排序算法。 希尔排序,由Donald Shell于1959年...

    3种排序算法可视化程序 c++ 算法

    在这个C++实现的项目中,我们有三种经典的排序算法被可视化:冒泡排序、插入排序和选择排序。这些算法的可视化能够帮助我们更好地理解它们的工作原理。** ### 冒泡排序 冒泡排序是最基础的排序算法之一,它通过重复...

    实现所有经典排序算法汇总

    它通过将待排序的数组元素按某个增量分组,对每组使用直接插入排序算法排序,然后逐渐减少增量,直到增量为1,整个数组成为一个有序序列。 6. **归并排序(Merge Sort)** 归并排序是一种分治的排序算法,将待排序的...

    一般排序算法测试程序

    使用简单数组实现下面各种排序算法的功能,并进行比较, 排序算法如下: a) 插入排序; b) 希尔排序; c) 冒泡排序; d) 快速排序; e) 简单选择排序; f) 堆排序; g) 归并排序; h) 基数排序(选作); i) 其他; ...

    采用各种排序算法,支持任意类型数据的小型排序系统

    本项目是一个小型的排序系统,其核心特点在于能够处理任意类型的数据,并且采用了五种不同的排序算法,包括冒泡排序、选择排序、插入排序、快速排序以及堆排序。下面将详细探讨这些知识点。 首先,**泛型**是Java...

    FPGA并行快速排序算法-位宽可设

    在本文中,我们将深入探讨基于FPGA的并行快速排序算法,特别关注“位宽可设”的特性。这种算法能够高效地处理大量数据,并且在硬件实现上具有很高的灵活性。我们将从以下几个方面来阐述这个主题: 一、快速排序算法...

    7种常用排序算法实现(C++)(冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序以及快速排序)

    这七种算法分别是:冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序和快速排序。 1. **冒泡排序**: 冒泡排序是最基础的排序算法之一,通过重复遍历待排序序列,比较相邻元素并交换位置来实现排序...

    C++数据结构排序算法

    C++数据结构排序算法总结 在计算机科学中,排序算法是最基本和最重要的算法之一。在实际应用中,排序算法广泛应用于各种领域,如数据分析、机器学习、数据库管理等。C++数据结构排序算法总结将为您提供详细的排序...

    常用排序算法源码

    这里我们主要探讨五种常见的排序算法,这些算法的源码你可以在提供的压缩包文件中找到:MergeSort(归并排序)、RadixSort(基数排序)、InsertionSort(插入排序)、SwapSort(可能是冒泡排序或快速排序的误称)...

    排序及基本算法

    ### 排序及基本算法详解 #### 一、排序的基本概念与分类 排序是一种常见的数据组织方式,旨在根据数据的某一属性(关键字)将其按升序或降序排列。这一过程不仅限于数字,也可以应用于字母、字符串或其他任何可...

    2009软考程序员:排序算法的各趟排序算法

    在计算机科学领域,排序算法是数据结构与算法中不可或缺的一部分,尤其对于程序员来说,理解和掌握各种排序算法至关重要。2009年的软考程序员考试中,排序算法是重点考察的知识点之一,它涉及到多趟排序的过程,即...

Global site tag (gtag.js) - Google Analytics