Giriş
STL algoritmalarını işlevlerine göre gruplamak anlamayı çok daha kolaylaştırıyor. Aşağıdaki algoritmalar sıralı dizileri yine sıralı olarak birleştirme algoritmalarını gösteriyor.
inplace_merge metodu
Sıralı olan iki farklı diziyi yine sıralı olacak şekilde birleştirir.
Örnek
Şöyle yaparız. Başı sıralı ancak sonu sıralı olmayan tab vector'ü verilmiş. Sıralı olan n tane eleman atlandıktan sonra, geri kalan elemanlar kendi aralarında sıralanıyor. Daha sonra aynı vector'ün içindeki iki farklı sıralı dizi birleştiriliyor.
STL algoritmalarını işlevlerine göre gruplamak anlamayı çok daha kolaylaştırıyor. Aşağıdaki algoritmalar sıralı dizileri yine sıralı olarak birleştirme algoritmalarını gösteriyor.
inplace_merge metodu
Sıralı olan iki farklı diziyi yine sıralı olacak şekilde birleştirir.
Örnek
Şöyle yaparız. Başı sıralı ancak sonu sıralı olmayan tab vector'ü verilmiş. Sıralı olan n tane eleman atlandıktan sonra, geri kalan elemanlar kendi aralarında sıralanıyor. Daha sonra aynı vector'ün içindeki iki farklı sıralı dizi birleştiriliyor.
void foo( std::vector<int> & tab, int n ) {
std::sort( begin(tab)+n, end(tab));
std::inplace_merge(begin(tab), begin(tab)+n, end(tab));
}
merge metodu
std::merge metodu yazısına taşıdım.
std::merge metodu yazısına taşıdım.
Hiç yorum yok:
Yorum Gönder