首页 > 编程语言 > 详细

bubble sort 冒泡排序

时间:2015-07-06 21:22:30      阅读:282      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
template< typename T >
void BubbleSort(list<T>& li)
{
    list<T>::iterator it_left = li.begin();
    list<T>::iterator it_right = li.begin();
    it_right++;
    bool f_sorted = false;
    do 
    {
        f_sorted = false;//为false表示循环不必再进行
        //两个itor
        it_left = li.begin();
        it_right = li.begin();
        it_right++;
        
        while (it_right != li.end())
        {//内循环,遍历一遍
            if (*it_left > *it_right)
            {
                swap(*it_left, *it_right);
                f_sorted = true;
            }
            it_left++;
            it_right++;
        }
    } while (f_sorted);//当遍历一遍后没有可交换的了,则跳出大循环
}



bubble sort 冒泡排序

原文:http://www.cnblogs.com/ssy-zju/p/4625227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!