冒泡排序

首先排序分为四种: 

      交换排序: 包括冒泡排序,快速排序。

      选择排序: 包括直接选择排序,堆排序。

      插入排序: 包括直接插入排序,希尔排序。

      合并排序: 合并排序。

 

冒泡排序:

#include <iostream>
#include <vector>

using namespace std;

void bulleSort(vector<int> &ivetor)
{
    int temp;
    for (int i=0; i<ivetor.size()-1; i++)
    {
        
        for(int j=ivetor.size()-1; j>i; j--)
        {
            if(ivetor[j-1]>ivetor[j])
            {
                temp = ivetor[j-1];
                ivetor[j-1] = ivetor[j];
                ivetor[j] = temp;
            }
        }
    }
}

int main()
{
    const size_t arrSize = 10;
    int arr[arrSize] = {10,20,53,12,5,96,56,89,36,22};
    vector<int> ivet;
    
    for(int i=0; i<arrSize; i++)
    {
        ivet.push_back(arr[i]);
    }

    //int temp;
    //for (int i=0; i<ivet.size()-1; i++)
    //{
    //    
    //    for(int j=ivet.size()-1; j>i; j--)
    //    {
    //        if(ivet[j-1]>ivet[j])
    //        {
    //            temp = ivet[j-1];
    //            ivet[j-1] = ivet[j];
    //            ivet[j] = temp;
    //        }
    //    }
    //}


    bulleSort(ivet);

    //使用iterator
    for(vector<int>::iterator iter=ivet.begin(); iter!=ivet.end(); ++iter )
    {
        cout << *iter << endl;
    }

    //使用下标
    for(int i=0; i<ivet.size(); i++)
    {
        cout << ivet[i] << endl;
    }
    
    return 0;
}

 

注:

比较差的算法,只适用于小量数据。

posted @ 2012-06-04 17:28  lmy4710  阅读(110)  评论(0)    收藏  举报