二路插入排序

#include  
using namespace std;  
typedef int SqList[8];  
void Binpath_Insertsort(SqList &L,int count)  
{    
        int length = count - 1;  
    int L1[length] = { 0 };  
    L1[0] = L[1];//L中的第一个记录为L1中排好序的记录    
    int first = 0, last = 0;   
    for (int i = 2; i <= length; ++i)//依次将L的第2个至最后一个记录插入L1中    
    {  
        if (L[i] < L1[first])//待插入记录小于L1中最小值,插入到L1[first]之前   
        {  
            first = (first - 1 + length) % length;  
            L1[first] = L[i];  
        }  
        else if (L[i] > L1[last])//待插入记录大于L1中最小值,插入到L1[last]之后    
        {  
            last = last + 1;  
            L1[last] = L[i];  
        }  
        else  
        {  
            int j = last++;  
            while (L[i] 
二路插入排序_第1张图片

你可能感兴趣的:(C++,算法)