9
桶排序(箱排序)
:分块的排序算法,将数组分到有限数量的桶里,每个桶再分别排序,把数组中的数据根据函数映射方法分配到若干个桶中,分别对各个桶排序,最后按顺序去除桶中的数据(适用于数据分配均匀,数据比较大,相对集中的情况)
eg:
输入包含2行。第一行包含两个整数N和M,表示班级有N位同学,同学们共有
M次报出编号。约定2≤N, M ≤1000。
第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范围内。
int N , M;
int flag=0;
cin>>N>>M;
int a[1002];
int b[1002]={0};
for(int i=0;i<M;i++)
{
cin>>a[i];
b[a[i]]++;
}
for(int i=0;i<N;i++)
{
if(b[i]==0)//wei dao
{
flag=1;
cout<<i<<" ";
}
}
if(flag==0) cout<<N;
:分块的排序算法,将数组分到有限数量的桶里,每个桶再分别排序,把数组中的数据根据函数映射方法分配到若干个桶中,分别对各个桶排序,最后按顺序去除桶中的数据(适用于数据分配均匀,数据比较大,相对集中的情况)
eg:
输入包含2行。第一行包含两个整数N和M,表示班级有N位同学,同学们共有
M次报出编号。约定2≤N, M ≤1000。
第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范围内。
int N , M;
int flag=0;
cin>>N>>M;
int a[1002];
int b[1002]={0};
for(int i=0;i<M;i++)
{
cin>>a[i];
b[a[i]]++;
}
for(int i=0;i<N;i++)
{
if(b[i]==0)//wei dao
{
flag=1;
cout<<i<<" ";
}
}
if(flag==0) cout<<N;
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用
2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的
3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单
4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价 点赞 评论 收藏
分享