zoukankan      html  css  js  c++  java
  • BitSort

    这个题为《编程珠玑》中提到的算法,解题思路和桶排序/基数排序一样,适用于大量没有重复的数据。

    结题思路:

      1.遍历整个数据文件,每提取一个数据,在BitMap中对应的位置赋1

      2.遍历BitMap的每一位,为1的位置上输出其再BitMap中的坐标

     1 #include <iostream>
     2 #include <fstream>
     3 using namespace std;
     4 const int maxnum=10000000;  //设置位图大小
     5 const int mask=0x1f;  //求余
     6 void setbit(int *a,int tmp);
     7 int check(int *a,int tmp);
     8 int main()
     9 {
    10     int bit[maxnum/32+1];
    11     for(int i=0;i<maxnum/32+1;i++)
    12         bit[i]=0;
    13     ifstream fin;
    14     ofstream fout;
    15     int tmp;
    16     fin.open("test.txt");
    17     fout.open("result.txt");
    18     fin>>tmp;
    19     while(tmp!=-1)
    20         {
    21             setbit(bit,tmp);
    22             fin>>tmp;
    23         }
    24     for(int i=0;i<maxnum;i++)
    25     {
    26         if(check(bit,i))
    27         {
    28             cout<<i<<endl;
    29             fout<<i<<endl;
    30         }
    31     }
    32     fin.close();
    33     fout.close();
    34     cout<<"end!";
    35     return 0;
    36 }
    37 void setbit(int *a,int tmp)
    38 {
    39     a[tmp>>5]|=(1<<(tmp&mask));
    40 }
    41 int check(int *a,int tmp)
    42 {
    43     return a[tmp>>5]&(1<<(tmp&mask));
    44 }
  • 相关阅读:
    14071702(SkeletalControl_Limb)
    14072202(带IK的Recoil)
    UE3植被工具-支持刷Actor)
    UDK:AdventureKit 攀爬系统
    16082402(SkeletalMesh的绘制流程)
    windows下安装nodejs
    laravel迁移文件
    laravel的资源路由resource
    sleep参数是整型还是小数
    node.js和npm的关系
  • 原文地址:https://www.cnblogs.com/fcyworld/p/6147042.html
Copyright © 2011-2022 走看看