【数据结构】单链表—冒泡排序

来源:互联网 发布:整套python教学视频 编辑:程序博客网 时间:2024/06/13 16:41

编程实现单链表的排序,这里我们使用的是冒泡排序

template<class T>struct ListNode{    T _value;    ListNode<T>* _next;    ListNode(const T& value)        :_value(value)        ,_next(NULL)    {}};template<class T>class List{public:    List()        :_head(NULL)    {}    bool PushBack();    void sort()//单链表的冒泡排序    {        if(_head==NULL||_head->_next ==NULL)        {            return;        }        int len = Length();        for(int i=0;i<len;++i)        {            ListNode<T>* p = _head;            ListNode<T>* q = _head->_next;            for(int j=1;j<len-i;++j)            {                if(p->_value > q->_value)                {                    int tmp = p->_value;                    p->_value = q->_value;                    q->_value = tmp;                }                p = q;                q = q->_next;            }        }    }private:    ListNode<T>* _head;};
0 0
原创粉丝点击