排序jdl.cpp

时间:2022-08-10 13:42:21
【文件属性】:

文件名称:排序jdl.cpp

文件大小:832B

文件格式:CPP

更新时间:2022-08-10 13:42:21

c++

自己做的以个c++代码: #include #include 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; }


网友评论