设为首页 加入收藏

TOP

C++算法之冒泡排序、选择排序算法实例讲解
2018-05-21 15:48:09 】 浏览:81
Tags:算法 冒泡 排序 选择 实例 讲解

冒泡排序和选择排序都是低级排序,效率比较低。低级排序最简单的是冒泡排序。

从当前未排序的整数中找一个最小的整数,将它放在已排序的整数数列列表的最后。

要点:选择排序选最小的,往左边选。

冒泡排序是选择最大的,而选择排序选择最小的,但是选择排序要相对冒泡排序要快,是因为冒泡排序中间有许多交换的操作,选择排序要找到最小然后进行交换。

#include<iostream>
using namespace std;
void SelectSort(int *list,const int n);
int main()
{
    int x[] = {1,3,5,7,9,0,2,4,6,8};
    SelectSort(x,10);
    for(int k=0;k<10;k++)
        cout<<x[k]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
void SelectSort(int *list,const int n)
{
    for(int i=0;i<n-1;i++) //最外边的循环是寻找最小的值的次数,可以是n次也可以是n-1次。
    {
        int min = i; //min用来做记号,开始时第一个最小
        for(int j= i+1;j<n;j++)
        {
            //每一遍扫描都是从i+1开始扫描,如果我们发现一个最小的,每次扫描的时候没有排序。
            if(list[j]<list[min])
                min = j; //冒泡排序一般发生在该位置。
        }
        swap(list[i],list[min]);//把最小的放在最左边,0到i是已经排序的,i+1到n-1是未排序的,从未排序的里边找一个最小的放到左面
    }

}
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++ Primer Plus之文件尾(cin细.. 下一篇ACM日期计算(C++实现):输入一个..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目