隨機生成100萬個數,儲存在檔案out1.txt中,使用內部排序完成,並重新儲存在檔案out2.txt中。
(一)使用stl中的qsort函式進行操作:
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "time.h"
int a[1000000];
void load(char filename) //寫檔案
for(i=0;i<1000000;i++)
fprintf(fp,"%d ",a[i]);
}int cmp(const void *a, const void *b)
void paixu()
int main(void)
(二)遞迴實現qsort函式進行操作:
#include "string.h"
#include "stdlib.h"
#include "stdio.h"
#include "time.h"
int a[1000000];
void load(char filename) //寫檔案
for(i=0;i<1000000;i++)
fprintf(fp,"%d ",a[i]);
}int partitions(int a,int low,int high)
{ int pivotkey=a[low]; //基準
while(low=pivotkey)
--high;
a[low]=a[high];
while(low
100萬個數中找到最大的100個數
1.演算法如下 根據快速排序劃分的思想 1 遞迴對所有資料分成 a,b b b,d 兩個區間,b,d 區間內的數都是大於 a,b 區間內的數 2 對 b,d 重複 1 操作,直到最右邊的區間個數小於100個。注意 a,b 區間不用劃分 3 返回上乙個區間,並返回此區間的數字數目。接著方法仍然是對上一...
生成100萬6位純數字的隨機數 Sql
如何快速生成100萬不重複的8位編號 收藏 最近在論壇看到有人問,如何快速生成100萬不重複的8位編號,對於這個問題,有幾點是需要注意的 1 如何生成8位隨機數,生成的數越隨機,重複的可能性當然越小 2 控制不重複 3 考慮效能 針對這個問題,我寫了如下的示例來解決,希望能為有這類需求的人提供指導 ...
從100億隨機數中找到前100萬個最大的數
面試問到的一道題目 主要步驟 一 使用乙個大小為一百萬零一的整數陣列來構建堆 堆的下標從1開始 二 從檔案中讀取前一百萬個數,每讀入乙個數,呼叫函式,保持其最小堆的性質,堆的根永遠是堆中最小的元素。三 從一百萬零乙個數開始,每讀入乙個數開始,比較這個數與堆的根比較,如果比根大,就用這個數替換掉根,呼...