码迷,mamicode.com
首页 > 编程语言 > 详细

笔试,面试,C/C++,数据结构单链表排序(改进冒泡排序)

时间:2016-01-05 01:35:30      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:笔试   面试   c/c++   数据结构   单链表排序   改进冒泡排序   



void BubbleSortNode(SListNode *&pHead)//单链表排序
{
 assert(pHead);
 SListNode *tail = NULL;
 int Bool = 0;  //若没有进行交换提前返回

 while (tail!=pHead->next)
 {
  Bool = 0;
  SListNode *tmp = pHead;
  SListNode *tmpnext = tmp->next;
  while (tmp->next != tail)
  {
   if (tmp->data > tmpnext->data)
   {
    DataType x = tmp->data;
    tmp->data = tmpnext->data;
    tmpnext->data = x;
    Bool = 1;
   }
   tmp = tmp->next;
   tmpnext = tmpnext->next;
  } 
  if (Bool == 0)// 已排好序提前返回
   return;
  tail = tmp;
 }
}

技术分享

笔试,面试,C/C++,数据结构单链表排序(改进冒泡排序)

标签:笔试   面试   c/c++   数据结构   单链表排序   改进冒泡排序   

原文地址:http://10739786.blog.51cto.com/10729786/1731558

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!