• 排序(1)


    1、选择排序

    选择排序的思想是:不断将最小数放在最前直到排完  时间复杂度O(n^2)

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int MAXN=10001;
    int main()
    {
    int n,k,i,j;
    float temp,a[MAXN];
    cin>>n;
    for(i=0;i<=n;i++)
    cin>>a[i];
    for(i=0;i<n;i++)
    {
    k=i;
    for(j=i+1;j<n;j++)
    if(a[j]<a[k]) k=j;
    if(k!=i)
    {
    swap(a[i],a[k]);
    }
    }
    for(i=0;i<n;i++)
    cout<<a[i]<<" ";
    return 0;
    }

    2、冒泡排序

    冒泡排序的思想个人认为与选择排序类似只是换成把最大的放在最后 时间复杂度O(n^2)

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int MAXN=10001;
    int main()
    {
    int n,i,j;
    float a[MAXN];
    cin>>n;
    for(i=0;i<=n;i++)
    cin>>a[i];
    for(i=n-1;i>=1;i--)
    {
    for(j=0;j<i;j++)
    if(a[j]>a[j+1])
    {
    swap(a[j],a[j+1]);
    }
    }
    for(i=0;i<n;i++)
    cout<<a[i]<<" ";
    return 0;
    }

    3、插入排序

    顾名思义插入每输入一个插到适合的位置  时间复杂度O(n^2)#include <stdio.h>

    #include <stdlib.h>
    using namespace std;
    int a[10001];
    int main()
    {
    int i=0,j=0,k=0;
    for(k=1;k<10;k++)
    {
       cin>>a[k];
    }
    for(i=2;i<10;i++)
    {
    a[0]=a[i];
    for(j=i-1;a[0]<a[j];j--)
    {
    a[j+1]=a[j];
    }
    a[j+1]=a[0];
    }
    for(k=1;k<10;k++)
    {
    printf("%3d",a[k]);
    }
    return 0;
    }

    4、桶排序

    桶排序思想为开一个很长的一维数组并初始为零,输入数据,输入几则对应下表的数加1  最后从前往后输出数组中不为零的下标   时间复杂度O(n)     缺点:空间复杂度很高

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int MAXN=10001;
    int main()
    {
    int n,i,j,K;
    float a[MAXN];
    memset(a,0,sizeof(a));
    cin>>n;
    for(i=1;i<=n;i++)
    {
    cin>>k;a[K]++;
    }

    for(i=0;i<=100;i++)
    {
    while(a[i]>0)
    {
    cout<<i<<" ";
    a[i]--;
    }
    }
    return 0;
    }

     

  • 相关阅读:
    <Yii 学习>写入日志
    微信支付:curl出错,错误码:60
    PHPstorm创建注释模版
    Yii 常用命令
    Linux启动/停止/重启Mysql数据库的方法
    php foreach跳出本次/当前循环与终止循环方法
    介绍Sublime3下两款Markdown插件
    规范
    业务流程时序图
    数据字典
  • 原文地址:https://www.cnblogs.com/zhaoxuelin/p/12353984.html
Copyright © 2020-2023  润新知