【数据结构】单链表—冒泡排序
发布时间:2020-12-15 05:57:53 所属栏目:安全 来源:网络整理
导读:编程实现单链表的排序,这里我们使用的是冒泡排序 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 P
编程实现单链表的排序,这里我们使用的是冒泡排序 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;
};
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |