`
bbsunchen
  • 浏览: 231789 次
  • 性别: Icon_minigender_1
  • 来自: 天朝帝都
社区版块
存档分类
最新评论

算法修炼之道:insertion sort by C++(插入排序C++实现)

阅读更多
#include<iostream>
using namespace std;

int main()
{ 
	int a[10] = {32, 21, 67, 11, 5, 43, 99, 18, 22, 87};
	for(int i = 0;i < 10;i++)
	{
		for(int j = 0; j <= i;j++)
		{
			if(a[i+1] < a[j])
			{
				int temp = a[i+1];
				for(int k = i+1; k > j;k--)
				{
					a[k] = a[k-1];
				}
				a[j] = temp;
			}
		}
	}
	for(int i = 0; i < 10;i++)
	{
		cout << a[i] << " ";
	}
}

 实现插入了,代码是自己写的,灰常容易。

nocow上说,插入排序的基本思想:经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入L[1..i-1]的适当位置p,原来p后的元素一一向右移动一个位置,使得L[1..i]又是排好序的序列。对于数据比较大的,通常可以采取二分查找来确定一个数应该加入的位置。

1
0
分享到:
评论

相关推荐

    Insertion sorting,插入排序,c++

    ### 插入排序算法详解与C++实现 #### 一、概述 插入排序(Insertion Sort)是一种简单直观的比较排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。...

    各种排序的C++算法实现(插入排序、合并排序、堆排序、快速排序)

    全面的排序算法实现,包括插入排序、合并排序、堆排序、快速排序。 堆排序:HeapSort 讲解详见http://blog.csdn.net/fly_yr/article/details/8550701 插入排序:InSertion_Sort 讲解详见...

    插入排序算法实现 c++

    C C++ insertion sort

    C++实现插入排序

    插入排序(Insertion Sort)是一种简单直观的比较排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用...

    用C++实现插入排序的算法

    ### C++实现插入排序算法知识点解析 #### 一、插入排序基本概念 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序...

    经典插入排序算法(c/c++语言)

    在这个教程中,我们将深入探讨插入排序在C/C++语言中的实现,并理解其背后的逻辑和效率。 ### 插入排序概述 插入排序是一种简单直观的排序算法,它的工作方式是通过构建有序序列,对于未排序数据,在已排序序列中从...

    插入排序的C++实现

    关于压缩包中的“Heapsort”文件,堆排序是另一种常用的排序算法,与插入排序不同,它基于完全二叉树的特性,通过构建最大(或最小)堆来实现排序。由于这里主要讨论的是插入排序,所以堆排序的具体实现和原理不在本...

    c++ 选择排序 插入排序 快速排序

    2. **插入排序(Insertion Sort)** 插入排序是一种简单的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序...

    基于C++实现的七种排序算法源代码及性能评估报告,基于C++实现的冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、基数排序

    本报告记录了使用 C++ 初步实现的七种排序算法的基本原理及其在实际样例下的性能评估结果。这些算法包括: 冒泡排序(Bubble Sort) 选择排序(Selection Sort) 插入排序(Insertion Sort) 归并排序(Merge Sort)...

    插入排序 C++实现 自己备忘

    下面我们将详细探讨插入排序的原理、C++实现以及其应用。 ### 插入排序原理 1. **初始状态**:数组分为两个部分,第一部分只有一个元素,即数组的第一个元素,视为已排序;第二部分包含剩余的所有元素,视作未排序...

    c++排序算法及实现思路

    3. 插入排序(Insertion Sort):插入排序通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。C++实现时,可以使用一个while循环和一次插入操作。时间复杂度为O(n^2),但在部分...

    经典的排序算法C++实现大全

    3. 插入排序(Insertion Sort):插入排序的工作原理类似于打扑克牌,将未排序的元素逐个插入到已排序的部分。它分为两个阶段:扫描和插入,时间复杂度为O(n^2),但在部分有序的序列中表现良好。 4. 快速排序...

    各种排序算法的C++模板类实现

    本文将详细介绍一种C++模板类实现的各种排序算法,包括快速排序、选择排序、冒泡排序、插入排序、堆排序以及二叉排序树排序。这些算法在数据结构与算法领域非常重要,被广泛应用于计算机科学中的多个场景。 #### ...

    C++实现6种排序算法对四种类型数据排序

    在CSort文件中,你可以找到这六种排序算法的C++实现代码,通过阅读和理解这些代码,你可以更好地掌握各种排序算法的原理和使用方法。同时,通过对不同数据集的测试,可以对比分析各种算法的性能差异,从而加深对排序...

    数据结构 各种排序算法

    1. 直接插入排序(Insertion Sort): 直接插入排序是一种简单的排序算法,它通过比较当前元素与前面已排序的元素,将元素逐步插入到正确的位置。在每一轮中,它将一个未排序的元素插入到已排序序列的适当位置,直到...

    c++语言实现排序

    根据给定的信息,本文将详细解释使用C++语言实现排序功能的相关知识点,包括代码解析、算法原理以及在C++编程中的应用。 ### C++语言实现排序功能 #### 一、概述 C++是一种广泛使用的面向对象编程语言,以其高效性...

    排序算法-插入排序

    从提供的`InsertionSort.cpp`文件中,我们可以期待看到一个用C++实现的插入排序。通常,C++代码会包含一个名为`insertionSort`的函数,该函数接受一个整数数组和数组大小作为参数,然后对数组进行插入排序。 通过...

    各种经典排序算法C++/C

    1. **冒泡排序**(Bubble Sort):冒泡排序是最基础的排序算法之一,通过重复遍历待排序的数列,依次比较相邻元素并交换顺序,直到没有任何一对数字需要比较为止。 2. **选择排序**(Selection Sort):选择排序...

    c++插入排序,数据结构

    在这个例子中,`insertionSort`函数实现了插入排序的核心逻辑,`printArray`用于打印排序后的数组。`main`函数中定义了一个待排序的数组,并调用这两个函数完成排序和输出。 插入排序的时间复杂度在最好情况(已...

    使用分治法的插入排序

    在这个场景中,我们讨论的是如何使用分治法的思想来实现插入排序,并通过C++语言进行编程实践。 ### 分治法原理 分治法是计算机科学中解决问题的一种策略,它将大问题分解为若干个规模较小、相互独立、与原问题形式...

Global site tag (gtag.js) - Google Analytics