C/C++怎么实现查找1000 000个数字,有没有重复?

发布于 2022-10-15 09:27:31 字数 106 浏览 36 评论 0

1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。(没有重复)

c/c++怎么实现??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

凌乱心跳 2022-10-22 09:27:31

1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35

    1.hash最方便查询了。hashset或者hashmap  
   
    2.也可以用hash来做,使用stl的hashmap,key是数值,value是计数,在把数据插入过程中判断value的值。   

      还有一种方法,跟1类似也是用位图来做。具体步骤就是建立一个位图数组,将生成的整数作为角标。位图数组的每一位初始化为0,读入一个数据后将相应位置为1.  插入数据时检查相应位是否为1。

韵柒 2022-10-22 09:27:31

bitmap  512M的内存,搞定。

谈情不如逗狗 2022-10-22 09:27:31

100w个数字,hash一样也方便。

泅渡 2022-10-22 09:27:31

sort and dc

青瓷清茶倾城歌 2022-10-22 09:27:31

数据量太小,内存足够的情况下,照抄数据结构上的算法都可以搞定。

·深蓝 2022-10-22 09:27:31

bitmap搞定

天邊彩虹 2022-10-22 09:27:31

1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35

    第二個問題可以使用Hash表,發生Hash沖突的時候再判斷是否相等

何其悲哀 2022-10-22 09:27:31

1.生成1000 000个32位整数,怎么保存才方便查询?
2.怎么查询1000 000个数据中,任意两个数字都不相等。( ...
ATmega32 发表于 2011-04-15 17:35

    對了。。ATMega32這樣的8bit處理器上,運行這個程序估計夠嗆啊

方圜几里 2022-10-22 09:27:31

最多只能查1000000次,别玩崩了。

  1. int arr[1000000];
  2. int *p = arr;
  3. int arr_rand(){
  4.        swap(*p, p[rand()%(1000000 - (p-arr))]);
  5.        return *p++;
  6. }

复制代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文