算法复习之插入排序

原创 2015年07月08日 22:55:52
#include<iostream>
void prin(int *list,int len)
{
    for(int i= 0;i<len;++i)
        std::cout<<list[i]<<" "<<std::endl;
}
/************************************************************************/
/*插入排序 
*list:待排序的数组,len:待排序数组的长度
*/
/************************************************************************/
void insertSort(int *list,int len)
{
    int p ;
    int temp ;
    for(int i = 1 ;i< len; ++i) //需待排序的元素
    {
        p = i ;//
        temp = list[p] ;//待插入的值
        //如果带插入的值小于list[p-1],则将list[p-1]向后移动一个位置
        while(p>0&&temp < list[p-1]) 
        {
            list[p] = list[p-1] ;//移动一个位置
            p-- ;
        }
        list[p] = temp ;//插入
    }
    prin(list,len) ;
}
int main()
{
    int a[10] = {5,8,2,4,9,0,1,6,7,3} ;
    insertSort(a,sizeof(a)/sizeof(int)) ;
    system("pause") ;
    return 0 ;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

算法导论的python实现之插入排序

在排序中,可能大家最先接触也最容易想到的应该是冒泡排序或者选择排序,然而在算法导论一书中却是从插入排序开始讨论,其实现思路类似于整理纸牌的过程。从一堆牌中选择第一张拿在手中,然后每拿一张牌均在手中找到...
  • u014775342
  • u014775342
  • 2015年11月30日 10:40
  • 585

算法基础学习---插入排序

1.什么是插入排序? 算法导论上面举了一个比较形象的例子:扑克牌。桌子上面放一副扑克牌,我们抓牌的时候,刚开始手里是没有牌的,我们开始一张一张拿到牌往左手塞,第一张K,放到手里,这时候左手已经有一张...
  • u012898245
  • u012898245
  • 2018年01月24日 22:46
  • 53

算法 第四版 2.1.25 不需要交换的插入排序

public static void sort(Comparable[] a){ int N = a.length; for(int i=1;i=0 && less(temp, a[j]); ...
  • qq_34446253
  • qq_34446253
  • 2017年09月09日 21:27
  • 392

算法复习--插入排序

插入排序的主要思想与扑克牌类似,即把一张扑克牌插入一个有序的序列中去。具体算法如下:   static void InsertionSort(int[] a) { ...
  • wolfant
  • wolfant
  • 2009年08月12日 10:46
  • 347

算法复习-插入排序1

INSERTION-SORT (A)for j
  • oujj06
  • oujj06
  • 2012年12月11日 11:34
  • 115

算法复习--插入排序(java)

插排的思想:每次插入一个数据,插入的时候都和之前已经排好序的数据从后向前比较,直到找到比挡圈...
  • Diaoliangwang
  • Diaoliangwang
  • 2014年08月09日 13:16
  • 665

插入排序 算法

今天,整理一下插入排序, 其实一天掌握一种排序也不错, 毕竟算法是思考与理解性的东西。一次性能听懂,但基本都是当时懂了,过几天就没有办法重现了,这点至少对于我来说,在学习二叉树是体现的尤为明显。 ...
  • Niro_z
  • Niro_z
  • 2012年11月21日 08:36
  • 4877

排序算法系列:插入排序算法

直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。...
  • u013761665
  • u013761665
  • 2016年03月24日 08:53
  • 6782

排序算法之三 2-路插入排序

这次要谈的插入排序算法就是2-路插入排序,2-路插入算法是在折半插入排序的基础上改进 它的目的就是想减少数据的移动次数,因此,另外开辟辅助空间。首先开辟一个长度为iLength的临时数组,将待排序数...
  • onedreamer
  • onedreamer
  • 2011年09月03日 09:50
  • 6405

【算法】插入排序的递归实现

int data[10] = {5,4,3,6,7,8,56,3,234,2}; //输入元素为: data需要排序的数组 start需要排序的数组的起始下标 end需要排序的,无序序列的首元素的下标...
  • chenglibin1988
  • chenglibin1988
  • 2013年05月19日 15:07
  • 4102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法复习之插入排序
举报原因:
原因补充:

(最多只允许输入30个字)