对几万个年龄排序,要求时间效率为O(N)

来源:互联网 发布:易语言内存修改器源码 编辑:程序博客网 时间:2024/05/09 05:46
//对几万个年龄排序,要求时间效率为O(N)《剑指offer》面7#include<iostream>#include<cstring>using namespace std;void sortage(int ages[],int length){    if(ages==NULL && length<=0)        return ;    const int oldestage=99;    int timeofage[oldestage+1];    //for(int i=0;i<=oldestage;i++)      //  timeofage[i]=0;      memset(timeofage,0,sizeof(timeofage));    for(int i=0;i<length;i++)    {        int age=ages[i];        timeofage[age]++;    }    int index=0;    for(int i=0;i<oldestage;i++)    {        for(int j=0;j<timeofage[i];j++)        {            ages[index]=i;            index++;        }    }}int main(){    int ch[]={18,29,39,24,25,26,51,44,62};    sortage(ch,9);    for(int i=0;i<9;i++)        cout<<ch[i]<<" ";    return 0;}

原创粉丝点击