(大數)排序 簡單解決

2021-09-11 01:44:53 字數 856 閱讀 4402

對於規模較大的數,這裡介紹兩種排序的方法:快排,以及c++stl的sort排序

給出n個整數,對著n個整數進行排序

收起

第1行:整數的數量n(1 <= n <= 50000)

第2 - n + 1行:待排序的整數(-10^9 <= a[i] <= 10^9)

共n行,按照遞增序輸出排序好的資料。
快排:

#include #include using namespace std;

const int n = 50010;

int a[n];

void quicksort(int a, int start, int end)

while(i < j)

swap(a[j], a[i]);

while(i < j && a[i] <= t)

swap(a[i], a[j]);

}quicksort(a, start, i-1);

quicksort(a, i+1, end);

}int main()

quicksort(a, 0, n-1);

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

return 0;

}

sort排序:

#include#include#includeusing namespace std;

int main()

sort(a,a+n);

for(int i=0;ireturn 0;

}

簡單大數相加

include include include using namespace std define n 1000 char s1 n char s2 n int main int b n gets s1 getchar 不用這個玩意,有的話會吞掉下乙個字串的第乙個字元 gets s2 l1 str...

大資料排序

大資料開發工程師的一道經典面試題 如果待排序資料具有某些特點,往往能夠有更加有效的方法解決。同時,這種思想也更加貼近大資料應用的思維方式。對於大資料問題,分而治之的思想十分普遍。同時分布式計算 平行計算等也都類似。包括hadoop採用的map reduce模型,分而治之的思想都貫穿其中。以時間為基準...

大數外部排序

題意 將百萬級資料排序,已知記憶體最大處理4k資料 4k記憶體容量是4000位元組,也就是說能處理1000個數假如說現在有n資料進行排序,n為百萬級,而記憶體一次只能處理1000個資料,我們做法是分部做,即先把n分成n 1000份資料,這樣每份資料就都能用內部排序方法實現 本題使用2路 每份資料存在...