链表升序排序(降序)-创新互联

#include

创新互联专注于企业成都全网营销、网站重做改版、西和网站定制设计、自适应品牌网站建设、H5页面制作商城建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为西和等各大城市提供网站开发制作服务。

#include

#define N 5

typedef struct node{

  int data;

  struct node * next;

}ElemSN;

ElemSN * Createlink(int a[],int n){

      int i;

      ElemSN * h=NULL, * p;

    for( i=N-1;i>=0;i--){

           p=(ElemSN *)malloc(sizeof(ElemSN));

     p->data =a[i];

     p->next=h;

     h=p;

        }

return h;

  }

void printlink(ElemSN * h){

       ElemSN * p;

          for(p=h;p;p=p->next)

      printf("%d\n",p->data);

  }

 ElemSN* SelectSont(ElemSN*h) {

       ElemSN*p,*q,*Pm,*Qm,*h2;  //pq指针联动,Pm大值指针,Qm大指针的前一结点 ,h2头结点

         h2=NULL;

while(h){                //结束条件是头指针为空

  for(Pm=q=h,p=h->next;p;q=p,p=p->next){

  if(Pm->data>p->data){

       Pm=p;

Qm=q;

  }

  }                                        //for结束,Pm指的是大值结点

    if(Pm-h)

  Qm->next=Pm->next;  //不是头指针

else

  h=h->next;           //是头指针

    Pm->next=h2;                    //大值放在头结点

       h2=Pm;                             //设置头指针

    }

return h2;

}

int main(void){

int a[N]={10,2,80,5,4};

ElemSN * head;

      head=Createlink(a,9);

head=SelectSont(head);

printlink(head);

}



另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:链表升序排序(降序)-创新互联
转载来于:http://scyanting.com/article/dodsgj.html