美文网首页
2019-07-16

2019-07-16

作者: 桐桑入梦 | 来源:发表于2019-07-16 12:43 被阅读0次

    数据结构排序

    单链表上的简单选择排序

    void selectSort(LinkList &L)
    {
        LinkNode *h=L,*p,*q,*r,*s;
        L=NULL;
        while(h!=NULL)
        {
            p=s=h;//工作指针p,最大值的初始化指针为s 
            q=r=NULL;
            while(p!=NULL)
            {
                if(p->data>s->data){
                    s=p;
                    r=q;
                }
                q=p;
                p=p->next;
            }
            if(s==h) h=h->next;
            else r->next=s->next;
            
            s->next=L;
            L=s;    
        }   
    } 
    

    判断一个堆是不是小顶堆

    bool IsMinHeap(ElemType A[],int len)
    {
        if(len%2==0){
            if(A[len/2]>A[len]) return false;
            for(int i=len/2-1;i>=1;i--)
                if(A[i]>A[i*2] || A[i]>A[i*2+1]) return false; 
        }
        else{
            for(int i=len/2;i>=1;i--)
                if(A[i]>A[i*2] || A[i]>A[i*2+1]) return false; 
        }
        return true;
    }
    

    相关文章

      网友评论

          本文标题:2019-07-16

          本文链接:https://www.haomeiwen.com/subject/ipizkctx.html