c語言大檔案排序

2021-09-24 01:14:59 字數 553 閱讀 7274

一、

生成大檔案

int main(void) 

srand((size_t)time(null));

for (int i = 0; i < size;i++)

fclose(fp);

return 0;

}

對大檔案進行排序

int main(void) 

int arr[256];

memset(arr,0,sizeof(int)* 256);

for (int i = 0; i < size;i++)

for (int i = 0; i < sizeof(arr)/sizeof(int);i++)

} fclose(fp1);

fclose(fp2);

return 0;

}

二、說明

利用陣列的方式對大檔案進行排序,效率很高,但是必須是知道數的範圍,比如本次的排序檔案中的資料大小是0-255,定義陣列的時候,就可以定義arr[256]。

Shell 排序大檔案

題目 一句 shell 指令碼,使用 2g 記憶體,排序乙個 10g 的檔案。首先,我們用 python 指令碼計算乙個 10g 的檔案最大的整數是多少 因為硬碟的原因就以 10m 為例 10m 得到的結果是 1449607。123 4567 891011 1213 1415 1617 1819 2...

LINUX AIX UNIX 大檔案排序問題

上週經理讓我在unix環境下 對乙個150m 的txt 的第一列進行排序,組內以前有人寫過乙個程式,用結構體 冒泡法 共享記憶體 排序,但是後面發現只能對百萬行的資料排序,如果檔案過大,申請不到共享記憶體,現在機器上一般共享記憶體限制2g。比較笨的方法是 匯入資料庫,然後order by 再匯出來。...

c 處理大檔案

最近寫乙個小工程,要讀寫大檔案,10 20g。開始經過一番考慮,考慮到c函式的高效與操作難度 以前用c的函式,總忘關檔案 直接使用了c 的ifstream,用類操作比較方便。由於隨機讀取檔案位置,所以需要找辦法能讀取到任一位置,這在處理小檔案時沒有問題,但在處理大於4g檔案時出現了問題。以前在lin...