4.10 Algoritmalar
C++ algoritmaları, belirli bir sorunu çözmek veya belirli bir görevi yerine getirmek için izlenen adımlar veya işlemler dizisidir. Algoritmalar, verileri işlemek, sıralamak, aramak ve çeşitli matematiksel hesaplamalar yapmak için yaygın olarak kullanılır. C++, algoritmaların uygulamaları için kapsamlı bir standart şablon kütüphanesi (STL) sunar.
Algoritmaların Temel Özellikleri
Sonluluk: Bir algoritmanın sonlu bir sayıda adımda tamamlanması gerekir.
Tanımlılık: Her bir adımın açık ve net bir şekilde tanımlanması gerekir.
Girdi: Algoritmalar, belirli bir girdi alabilir.
Çıktı: Algoritmalar, girdilere dayanarak belirli bir çıktı üretir.
Etkinlik: Algoritmanın mümkün olan en az kaynakla çalışması beklenir.
C++’ta Yaygın Algoritmalar
C++ STL, birçok yerleşik algoritma içerir. Bu algoritmalar, #include <algorithm>
başlığı altında bulunur. İşte bazı yaygın C++ algoritmaları:
1. Sıralama Algoritmaları
std::sort
: Elemanları sıralamak için kullanılır.
#include <iostream>
#include <vector>
#include <algorithm> // sort için
int main() {
std::vector<int> sayilar = {5, 2, 8, 1, 3};
std::sort(sayilar.begin(), sayilar.end()); // Artan sıralama
std::cout << "Sıralı sayılar: ";
for (int sayi : sayilar) {
std::cout << sayi << " ";
}
std::cout << std::endl;
return 0;
}
2. Arama Algoritmaları
std::find
: Bir elemanı bulmak için kullanılır.
#include <iostream>
#include <vector>
#include <algorithm> // find için
int main() {
std::vector<int> sayilar = {5, 2, 8, 1, 3};
int aranacak = 8;
auto it = std::find(sayilar.begin(), sayilar.end(), aranacak);
if (it != sayilar.end()) {
std::cout << aranacak << " bulundu!" << std::endl;
} else {
std::cout << aranacak << " bulunamadı!" << std::endl;
}
return 0;
}
3. Kopyalama Algoritmaları
std::copy
: Bir koleksiyondaki elemanları başka bir koleksiyona kopyalamak için kullanılır.
#include <iostream>
#include <vector>
#include <algorithm> // copy için
int main() {
std::vector<int> sayilar1 = {1, 2, 3, 4, 5};
std::vector<int> sayilar2(sayilar1.size());
std::copy(sayilar1.begin(), sayilar1.end(), sayilar2.begin());
std::cout << "Kopyalanan sayılar: ";
for (int sayi : sayilar2) {
std::cout << sayi << " ";
}
std::cout << std::endl;
return 0;
}
Sonuç
C++’ta algoritmalar, verileri işlemek ve belirli görevleri yerine getirmek için kritik öneme sahiptir. C++ Standard Template Library (STL), sık kullanılan algoritmaların etkili bir şekilde uygulanmasını sağlar.
Last updated
Was this helpful?