插入排序的思想是将数组分为前面有序和后面无序两部分,每次取后面无序部分的第一个数插入到前面有序的部分中,使得插入之后前面有序的那一部分仍然有序。
import java.util.Scanner; public class InsertSort{ public static void main(String args[]){ Scanner scanner=new Scanner(System.in); int total=scanner.nextInt(); int[] array=new int[1024]; for(int i=0;i<total;i++){ array[i]=scanner.nextInt(); } //total是数组长度 insertSort(array,total); output(array,total); } public static void output(int[] array,int total){ for(int i=0;i<total;i++){ System.out.print(array[i]+" "); } System.out.println(); } public static void insertSort(int[] array,int total){ int temp; int j; for(int i=1;i<total;i++){ temp=array[i]; for(j=i-1;j>=0;j--){ if(array[j]>temp){ array[j+1]=array[j]; }else{ break; } } array[j+1]=temp; } } }
测试数据
输入:
10
1 4 7 8 5 2 3 6 9 0
输出:
0 1 2 3 4 5 6 7 8 9
10
1 4 7 8 5 2 3 6 9 0
输出:
0 1 2 3 4 5 6 7 8 9
相关推荐
数据结构中的排序算法是计算机科学中的重要概念,用于组织和管理数据,使数据按照特定标准(通常是数值或字母顺序)排列。本PPT学习教案主要介绍了两种基础的排序方法:插入排序和交换排序。 首先,排序的基本定义...
### 数据结构之折半插入排序 #### 知识点概览 1. **折半插入排序的基本概念** 2. **折半插入排序算法原理** 3. **折半插入排序的时间复杂度分析** 4. **折半插入排序的空间复杂度分析** 5. **折半插入排序与普通...
### 数据结构:直接插入排序算法解析 #### 一、引言 在计算机科学领域,排序是一种常见的操作,用于将一组无序的数据按照特定的顺序排列。插入排序是一种简单直观的排序算法,它的工作原理类似于人们手工排序扑克...
### 数据结构之直接插入排序详解 #### 一、引言 在计算机科学中,排序算法是数据处理中不可或缺的一部分,而直接插入排序是一种简单直观的排序方法。它的工作原理类似于我们手动排序一组卡片的方式——每次从未...
### 数据结构排序实验报告知识点解析 #### 实验背景与目的 - **实验背景**:本实验报告来源于南昌大学科学技术学院信息学科部计算机系的一次专业课程实验。《数据结构》作为一门重要的计算机基础课程,其目的在于...
实现以下常用的内部排序算法并进行性能比较:"直接插入排序"," 折半插入排序"," 2—路插入排序"," 表插入排序"," 希尔排序"," 起泡排序"," 快速排序"," 简单选择排序"," 树形选择排序"," 堆排序"," 归并排序"," 链式...
这两种排序算法在数据结构和算法的学习中占据着核心地位,因为它们帮助初学者理解排序的基本原理。 首先,我们来看**插入排序(Insertion Sort)**。插入排序是一种简单直观的排序算法,它的工作方式类似于人们整理...
这些算法在数据结构与算法课程中是非常重要的基础内容,它们各自有着独特的特性和应用场景。 ### 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果...
数据结构排序算法中的折半插入排序,又称二分法,是对基本插入排序的一种改进,比普通的插入排序要快
数据结构中的排序方法 属于内部排序 直接插入排序
直接插入排序是一种简单直观的排序算法,它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。在数据量较小或者部分数据已经有序的情况下,直接插入排序能展现出较好的效率。...
《数据结构排序算法演示系统详解》 在计算机科学领域,数据结构与排序算法是至关重要的基础知识,它们直接影响到程序的效率和性能。本文将详细解析“数据结构排序算法演示系统”,探讨其中蕴含的多种排序算法及其原...
C++数据结构排序算法总结 在计算机科学中,排序算法是最基本和最重要的算法之一。在实际应用中,排序算法广泛应用于各种领域,如数据分析、机器学习、数据库管理等。C++数据结构排序算法总结将为您提供详细的排序...
在这个数据结构报告中,我们将深入探讨七种不同的内排序算法:简单选择排序、冒泡排序、插入排序、快速排序、两路合并排序以及堆排序。这些排序算法在C++语言环境下进行了实现,并且包含了详细的源代码和实验报告,...
数据结构用直接插入的方式排序,编写一个程序实现直接插入排序算法。
数据结构是计算机科学中至关重要的概念,它涉及如何有效地存储和组织数据,以便于执行各种操作,如查找、插入和删除。数据结构的选择直接影响到算法的效率和性能。本资料重点讨论了数据结构中的排序问题及其实现。 ...
以上是数据结构中关于排序的一些基本知识,包括排序的稳定性、比较次数、内部排序和外部排序的定义,以及直接插入排序、折半插入排序、希尔排序和冒泡排序的原理和特点。这些排序算法各有优缺点,选择哪种排序算法取...
【数据结构 - 排序算法详解】 排序是计算机科学中不可或缺的一部分,主要目的是将无序的数据转换成有序的形式,以方便后续的处理和查询。在本文中,我们将深入探讨四种常见的内部排序方法:插入排序、快速排序、...