顺序表
Status InsertSq(SqList &va,ElemType e)
{
    //顺序表va中的元素非递减有序,将x插入到顺序表的适当位置,以保持该表的有序性
    
    ElemType *newbase,*p;
    
    printf("%d\n",e);
    if(va.length>=va.listsize)
    {
        newbase=(ElemType*)realloc(va.elem,(va.listsize+LISTINCREMENT)*sizeof(ElemType));
        if(!newbase)
    exit(OVERFLOW);
        va.elem=newbase;
        va.listsize+=LISTINCREMENT;
    }
    
    for(p=va.elem+va.length-1;p>=va.elem;p--)
    {
        if(*p>e)
            *(p+1)=*p;
        else
        {
            *(p+1)=e;
            break;
        }
    }
    va.length++;
    
    return OK;
}
单链表
Status ListInsertX_Link(LinkList L,ElemType e)
{
    /*在带头结点的单链表中适当位置之前插入元素e 保持非递减有序/**/
    
    
    LinkList p=L,s;
    while (p->next && p->next->data < e )
    {
        p=p->next;
    }
        
    s=(LinkList)malloc(sizeof(struct LNode));
    s->data=e;
    s->next=p->next;
    p->next=s;
    return OK;
}