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

bubble sort 冒泡排序

时间:2015-07-06 21:23:27      阅读:119      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!