c语言内核链表的冒泡排序
时间: 2023-11-17 19:03:10 浏览: 100
C语言内核链表的冒泡排序代码如下:\```\voi bubb_sor(stru lis_h *h, i (*mpar)(stru lis_h *, stru lis_h *)) {\ stru lis_h *pos, *x, *;\ = NULL;\ whi ( != h->x) {\ pos = h;\ nx = h->x;\ whi (x != ) {\ if (mpar(x, nx->x) > ) {\ pos->x = nx->x;\ nx->x = nx->x->x;\ pos->x->x = nx;\ nx = pos->x;\ }\ pos = nx;\ nx = nx->x;\ }\ = nx;\ }\}\```\该函数的参数为一个指向链表头的指针和一个比较函数指针,其中比较函数指针用于比较两个链表节点的大小关系。函数中使用了两个指针pos和x,分别指向当前节点和下一个节点,通过比较它们的大小关系来进行排序。具体实现过程为:每次将链表尾部的节点排好序,然后再将尾部指针向前移动一个节点,直到整个链表都排好序为止。\n\
阅读全文