链表排序c++ 冒泡怎么用

冒泡排序链表中使用方法希望可以发代码详细点c++语言中 ..........谢谢

 http://blog.csdn.net/bitboss/article/details/51602826

#include<stdio.h>
#include<assert.h>

typedef int DataType;

typedef struct LinkNode
{
    DataType data;
    struct LinkNode* next;
}LinkNode,*pLinkNode;//结点结构体

typedef struct LinkList
{
    LinkNode* pHead;//头结点指针
}LinkList ,*pLinkList;//链表


void BubbleSort (pLinkList pList)
{
    pLinkNode cur = NULL;
    pLinkNode teil = NULL;

    assert(pList);

    cur = pList->pHead ;

    while(cur != teil)
    {
        while(cur->next != teil)
        {
            if(cur->data > cur->next ->data )
            {
                DataType tmp = cur->data ;
                cur->data = cur->next ->data ;
                cur->next ->data = tmp;
            }
            cur = cur->next ;
        }
        teil = cur;
        cur = pList->pHead ;
    }
    return ;
}

http://blog.csdn.net/liuhuiyan_2014/article/details/46898881
http://blog.csdn.net/hengbao4/article/details/49763479

http://www.jb51.net/article/30796.htm
这是一个冒泡排序的动画 让你看的明白点
现在很多算法都有动画演示 可以找点看看 如果不明白原理的话

链表的冒泡排序跟数组最大的区别就是next指针的变动

http://blog.csdn.net/wuchuanpingstone/article/details/7482756