习题1.9-有序数组的插入-函数题

习题1.9-有序数组的插入-函数题

解题代码

bool Insert( List L, ElementType X )
{
    bool ret=false;
    Position left=0,right=L->Last,loc;
    if((L->Last+1)<MAXSIZE)
    {
        while(left<=right){
            loc=(left+right)/2;
            if(L->Data[loc]==X){
                break;
            }else if(L->Data[loc]>X){
                left=loc+1;
            }else{
                right=loc-1;
            }
        }
        if(left>right){
            Position i;
            for(i=L->Last;i>=left;i--){
                L->Data[i+1]=L->Data[i];
            }
            L->Data[left]=X;
            L->Last++;
            ret=true;
        }
    }
    return ret;
}

测试结果

在这里插入图片描述

问题整理

发布了10 篇原创文章 · 获赞 0 · 访问量 89

猜你喜欢

转载自blog.csdn.net/Aruasg/article/details/104793423