日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

编程珠玑 第一章

發布時間:2025/4/16 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编程珠玑 第一章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:一個最多包含n個正整數的文件,每個數都小于n,其中n=10^7,且所有正整數都不重復。求如何將這n個正整數升序排列。

約束:最多有1MB的內存空間可用,有充足的磁盤存儲空間。

?

習題2 習題3 實現位向量用于排序。

#include<stdio.h>#define N 10000000 #define Shift 5 #define BitPerWord (sizeof(int)*8) #define Mask ((1<<Shift)-1)int a[1+N/BitPerWord];void set(int i){a[i>>Shift] |= 1<<(i&Mask); }void clr(int i){a[i>>Shift] &= ~(1<<(i&Mask)); }int test(int i){return a[i>>Shift] & (1<<(i&Mask)); }int main(){freopen("data.in","r",stdin);freopen("data.out","w",stdout);for(int i=0;i<N;i++)clr(i);int a;while(scanf("%d",&a)!=EOF)set(a);for(int i=0;i<N;i++){if(test(i))printf("%d ",i);}printf("\n");return 0; }

?

習題4:返回0至n-1之間的k個不同的隨即順序的隨機整數。

for i = [0,n)x[i]=ifor i = [0,k)swap(i,rand(i,n-1))print(x[i])

?

轉載于:https://www.cnblogs.com/jdflyfly/p/3956954.html

總結

以上是生活随笔為你收集整理的编程珠玑 第一章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。