`

排序算法整理(转载)

阅读更多
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("");
		}
	}
}
分享到:
评论

相关推荐

    python常用排序算法汇总

    该程序包含7大排序算法: # sort.bubbleSort() #冒泡排序 # sort.shellSort() #希尔排序 # sort.insertionSort() #插入排序 # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() ...

    js排序算法动态展示

    js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js排序算法动态显示js...

    几种排序算法整理

    在编程领域,排序算法是计算机科学中的核心概念,它涉及到数据结构、算法分析以及效率优化。本文将深入探讨由C语言实现的几种常见排序算法,包括它们的基本原理、实现细节和性能特点。 首先,让我们从最经典的排序...

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

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

    常用的排序算法总结(各种内部排序算法和外部排序算法)

    除了直接插入排序,还有其他类型的内部排序算法,如交换排序(如快速排序)、选择排序、归并排序、基数排序以及二叉排序树排序等。每种算法都有其独特的优点和适用场景,比如快速排序在平均情况下的时间复杂度为O...

    排序算法归档排序算法归档排序算法归档排序算法归档

    归档排序算法是排序算法的一种,它可能指的是将多种不同的排序算法进行整理、记录和归档,以便于学习和比较。本文件归档可能包含了一系列经典的排序算法,如冒泡排序、插入排序、选择排序、快速排序、归并排序、堆...

    排序算法排序算法排序算法排序算法

    在计算机领域,排序算法是用来组织和整理数据的一种方法,它的目的是将一组无序的数据按照特定的顺序排列。排序算法的效率直接影响到程序的运行时间和资源消耗,因此,理解和掌握各种排序算法对于编程人员来说至关...

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

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

    各种排序算法比较

    ### 各种排序算法比较 #### 一、稳定性比较 稳定性是排序算法中一个重要的特性,指的是相等的元素在排序前后保持原有的相对位置不变。根据文档提供的信息,我们可以总结出以下结论: - **稳定排序**:插入排序、...

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

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

    Android-Android图形化展示排序算法

    在Android应用中实现图形化排序算法,首先需要了解各种基本的排序算法,例如冒泡排序、选择排序、插入排序、快速排序、归并排序以及堆排序等。这些算法各有特点,如冒泡排序的时间复杂度为O(n^2),适用于小规模数据...

    排序算法实验报告

    希尔排序,冒泡排序、快速排序递归排序,快速排序非递归排序,快速排序改进算法

    算法与数据结构的排序算法

    2. 插入排序:它的工作原理类似于手动整理扑克牌,每次取出一个未排序的元素,插入到已排序的部分中合适的位置。 3. 选择排序:每次从未排序的元素中找到最小(或最大)的元素,然后放到已排序序列的末尾。 4. 快速...

    查找与排序算法的实现和应用

    查找与排序算法的实现和应用 查找算法是计算机科学中的一种基本算法,用于在数据结构中搜索某个特定的值或记录。常见的查找算法有顺序查找、二分法查找、快速查找等。 在顺序查找算法中,我们需要从头到尾遍历整个...

    基于Qt5-实现九大排序算法的代码汇总

    在本文中,我们将深入探讨如何使用Qt5框架和C++编程语言实现九大经典的排序算法。Qt5是一个跨平台的应用程序开发框架,它提供了丰富的库和工具,使得开发人员能够便捷地构建用户界面和应用程序逻辑。C++则是一种强大...

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

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

    排序算法.pdf

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

    常用排序算法的动态演示系统

    在本系统中,我们主要实现了五种常用的排序算法:冒泡排序法、快速排序法、直接插入排序法、折半插入排序法和树形选择排序法。这些算法都是在计算机科学中最基本和最重要的排序算法,广泛应用于各种数据处理和分析...

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

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

Global site tag (gtag.js) - Google Analytics