程式設計珠璣第1章的演算法實現

2021-06-10 15:16:29 字數 741 閱讀 3460

斷斷續續看了幾天,在實現幾個演算法後,總算把這個**寫出來了,測試耗時在10s 演算法真強大:)

#include #include #include #include #define max 1024*1024*1024

typedef unsigned char byte;

/*enum bool ;*/

int main()

}fclose(fp);

fclose(out_fp);

free(j);

exit(0);

}

編譯需要用到c99,演算法中在處理bit陣列的時候發現老版c實現很頭痛,也不知道用enum怎麼處理,有時間再看看其他方式

gcc num_in_str.c  -std=c99

time ./a.out

real0m10.371s

user0m9.333s

sys0m0.944s

生成100萬隨機資料檔案的程式

#include #include #include #include #include #define start 1000000

#define end 9999999

int main()

int i=0, j=0;

srand((int)time(0));

while(1)

fclose(fp);

}

程式設計珠璣第14章

這裡把所有關於堆的操作寫出來。當做標程吧。include include define ms 1025 typedef struct heap heap heap h static void shift heap h,int i else break a i t static void increa...

程式設計珠璣第12章

正文 如何生成0 n 1內的m個隨機整數 1 方法一 比如要從5個數里選出2個數,第乙個數的概率是2 5,第二個數的概率是1 4,然後是0 3 那麼現在已經很清楚了。可以寫 如下 for int i 0 i n i if rand n i m 2 方法二 可以用乙個set,每生成乙個隨機,就去set...

程式設計珠璣第13章

正文 為了解決在12章中的隨機數問題,本章中的目的是對檢視是否在陣列中的情況進行處理。那麼這裡採用了以下幾種方法 1 採用c 的set 2 採用陣列 3 採用鍊錶,順序搜尋,插入時不用移動。結果是陣列的比鍊錶的要快 1 鍊錶需要讀入的記憶體數比陣列大 2 陣列訪問有較好的記憶體相聯性,而鍊錶則不能保...