码迷,mamicode.com
首页 > 其他好文 > 详细

algorithm ch2 insertsort

时间:2015-03-20 18:25:02      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

刚开始看到insertsort,思路就是使用新来的元素与前述已经排好序的元素比较。然后进行插入或者跳到下一次比较。

实现的代码如下:

void InsertSort(int *pArray, int iSortNum)
{
    int *pTemp = pArray;
    int iLoop = 0;
    int jLoop = 1;

    for(; jLoop != iSortNum ; ++jLoop)
    {
        int x = pTemp[jLoop];
        iLoop = jLoop - 1;
        while(iLoop != -1)
        {
            if(x < pTemp[iLoop])
            {
                pTemp[iLoop+1] = pTemp[iLoop];
            }
            --iLoop;
        }
    }
}

 

这种排序跟冒泡法时间复杂度都是o(n^2)。

下面附上冒泡法的程序:

void BubbleSort(int *pArray, int iArrayNum)
{
    int temp = 0;
    for(int i = 0; i != iArrayNum;  ++i)
    {
        for(int j = i + 1; j != iArrayNum; ++ j)
        {
            if(pArray[i] > pArray[j])
            {
                temp = pArray[i];
                pArray[i] = pArray[j];
                pArray[j] = temp;
            }
        }
    }
}


 

 

algorithm ch2 insertsort

标签:

原文地址:http://www.cnblogs.com/bestwangjie/p/4354098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!