• 排序jdl.cpp

    自己做的以个c++代码: #include<stdlib.h> #include<stdio.h> struct node { int num, score; struct node* link; };//结点类型声明 node* creat(int n);//链表生成函数,尾插法 void print(node* h);//输出链表 node* index(node* h)//对单链表按从小到大的顺序进行排序 { int i = 0; if (h == 0 || h->link == 0)//排除链表只有一项或零项的情况 { printf("排序完毕!\n"); return h; }; node* p, * q,*r,*s;//p代表固定的比较对象,依次把他和后面的结点q比较交换 p=s = h; while (p->link) { q = p->link; if (p->num > q->num&&p==h) { h = q; p->link = q->link; q->link = p; q = p; p = h; i++; } else if(p->num > q->num && p != h) { r = q; p->link = q->link; q->link = p; s->link = q; q = p; p = r; i++; } s = p; p = p->link; }; printf("排序完毕!"); if (i) index(h);//递归调用index return h; }

    0
    107
    832B
    2019-07-21
    15
  • 求知

    发布1个问题
  • 受益良多

    发布1个问题且都已采纳了他人的回答
关注 私信
上传资源赚积分or赚钱