首页 > 学院 > 开发设计 > 正文

常见的排序算法

2019-11-09 19:21:14
字体:
来源:转载
供稿:网友

今天计划整理一下常见的几种排序算法

冒泡法:

第p次冒泡,会在剩下的n-p个数字钟找到最小的min值,将其放在剩下的n-p个数字的最前面。

我的方法是找剩下中的最小值放到开头,而不是两个相邻值互相交换

代码如下:

template<typename comparable>void maopaosort(vector<comparable>& a){    comparab tmp;    int pos;    for(int i=0;i<a.size()-1;i++)    {           tmp=a[i];        pos=i;        for(int j=i+1;j<a.szie();j++)        {               if(a[j]<tmp)            {                tmp=a[j];                pos=j;              }           }        a[i]=a[pos];        a[pos]=tmp;        }}

标准的冒泡算法如下:

void bubble_sort(int a[], int n){    int i, j, temp;    for (j = 0; j < n - 1; j++)        for (i = 0; i < n - 1 - j; i++)        {            if(a[i] > a[i + 1])            {                temp = a[i];                a[i] = a[i + 1];                a[i + 1] = temp;            }        }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表