折半插入排序

原创 2016年05月30日 21:56:19
#include<iostream>
using namespace std;
int main()
{
    int a[8] = {43,18,39,35,17,20,33,34};
    int temp,j,high,low,mid;
    for(int i=1;i<=7;i++)
    {
        temp = a[i];
        low = 0;
        high = i-1;
        
        while(low<= high)
        {
            mid = (low+high)/2;
            if(a[mid]>temp)
                high = mid-1;
            else
                low = mid+1;
        }

        for(int j=i-1;j>high;j--)
            a[j+1] = a[j];
        a[high+1] = temp;
    }

     for(int i = 0;i < 8; i++)
    {
        cout<<a[i]<<endl;
    }

    system("pause");
    return 0;
}

数据结构实验 折半插入排序

排序方法之----折半插入排序 选择每一个数,然后通过折半查找找到需要插入到的位置. 按照折半插入排序 分析: 折半查找以后,应该插入的位置应该是low,或者high+1 ,因为每次跳出while...
  • mazicwong
  • mazicwong
  • 2016年12月01日 12:11
  • 1118

C++实现折半插入排序

在“C++实现直接插入排序 ”中,由于插入排序的基本操作是在一个有序表中进行查找和插入,则这个“查找”操作可以利用“折半查找”来实现,由此进行的插入排序称之为折半插入排序 实现如下: #includ...
  • cxc19890214
  • cxc19890214
  • 2015年04月29日 16:52
  • 910

排序2:插入排序(折半插入排序)

直接插入排序把原始序列分成两部分,已有序和仍无序部分。每趟排序,从仍无序的部分中选取头个元素,在已有序的部分中寻找插入位置来插入。寻找插入位置的过程显然是个顺序查找的过程。这里,读者或许会提出个问题:...
  • Germanknight
  • Germanknight
  • 2014年09月25日 21:32
  • 964

经典算法之折半插入排序

折半插入排序与直接插入排序算法思想类似,区别是查找插入位置的方法不同,折半插入排序是采用折半查找的方法来查找插入位置的。...
  • wardseptember
  • wardseptember
  • 2017年12月10日 12:41
  • 42

排序算法之折半插入排序

折半插入排序    在直接插入排序的基础上做的改进,直接插入排序在寻找插入位置时是从后到前依次比较,直到找到插入位置。而折半插入排序在寻找插入位置时,先与有序序列中的中间位置R[mid]进行比较,如果...
  • u010647471
  • u010647471
  • 2015年10月28日 14:56
  • 1860

直接插入排序,折半插入排序,2-路插入排序,希尔排序

#include using namespace std; #define MAX 20 typedef int SqList[MAX]; void InsertSort(SqList &L,in...
  • weichanjuan3
  • weichanjuan3
  • 2015年06月16日 14:21
  • 468

数据结构-插入排序(直接插入排序+折半插入排序)

二、插入排序1.直接插入排序这里我们注意,元素的选择是从第二个元素开始!动态过程如下:递增的代码实现:#include using namespace std; void insertsort(int...
  • qq_38262266
  • qq_38262266
  • 2017年08月10日 09:58
  • 142

折半插入排序顺序结构

2016年7月28日08:21:18 折半插入排序:折半插入排序算法是对直接插入排序算法的改进,它的主要改进在于在已经有序的子集中确定待排序元素的位置 找到要插入的位置后,将相应的元素...
  • ArithmeticException
  • ArithmeticException
  • 2016年11月19日 13:55
  • 1724

通俗理解插入排序(直接插入排序,折半插入排序,希尔排序)

直接插入排序直接插入排序就是将待排序的值,逐一按元素的大小插入前面的有序序列 例如对-23,45,2,-45,9,5,3,65,-24进行直接插入排序,我们可以看成将45,2,-45,9,5,3,6...
  • liu_c_y
  • liu_c_y
  • 2016年07月29日 20:19
  • 777

C语言直接插入排序和折半插入排序算法的实现

直接插入排序是是一种稳定的排序,其算法简便,适用于顺序结构和链式结构,更适合于基本有序(正序)的情况。其空间复杂度为O(1),时间复杂度为O(n2)。下面是实现算法: 先是预定义和类型定义: ty...
  • ZGUIZ
  • ZGUIZ
  • 2017年01月22日 11:34
  • 1467
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:折半插入排序
举报原因:
原因补充:

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