博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位图排序
阅读量:6909 次
发布时间:2019-06-27

本文共 687 字,大约阅读时间需要 2 分钟。

在《编程珠玑》上看到的,开篇第一个问题,有很多数,小于一个MAXNUM,没有重复的,怎么排序最快。

答案是位图排序. 如果某一位不为0,那么这一位存代表一个数,位数(在序列中的位置)代表这个数。

比方说这些数都存在数组a,然后利用一个数组b,b初始状态各位都为0,然后读取a,如果a[1]=2,那么b[2]为1,a[3]=6,那么b[6]=1。

实现如下:

1 #include 
2 #include
3 #include
4 #include
5 #define MAXNUM 200 6 int Isood(int n); 7 8 using namespace std; 9 10 11 int main(void)12 {13 vector
v1,v2;14 int n;15 cin>>n;16 int m;17 m=MAXNUM;18 while(n)19 {20 int t;21 cin>>t;22 v1.push_back(t);23 n--;24 }25 26 while(m)27 {28 v2.push_back(0);29 m--;30 }31 32 for(int i=0;i

 

转载地址:http://crycl.baihongyu.com/

你可能感兴趣的文章
nio Selector 阻塞 唤醒 原理
查看>>
左旋转字符串
查看>>
android StringBuffer类的使用
查看>>
Hibernate与Mybatis/iBatis的区别
查看>>
读Zepto源码之样式操作
查看>>
Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路 三、装饰者模式...
查看>>
MySql-Binlog协议详解-流程篇
查看>>
Simple-Spring-Memcached深入研究一
查看>>
openstack学习笔记二 网络设置基础
查看>>
我的友情链接
查看>>
用户如何获得***服务---步骤与效果
查看>>
安全运维之端口安全
查看>>
【转载】什么是站点,Active Directory系列之十一
查看>>
Red Hat Enterprise Liunx6 配置apache 全攻略
查看>>
[Template]HTML Template 简介
查看>>
我的友情链接
查看>>
禁止 centos 休眠
查看>>
亚马逊的EC2云计算系统
查看>>
SCOM2012功能测试(14)—创建.NET应用程序性能监控
查看>>
IEnumerable和IEnumerable<T>接口
查看>>