Terokai algoritma berulang dalam C++

WBOY
Lepaskan: 2023-08-21 21:54:48
asal
1154 orang telah melayarinya

C++ ialah bahasa pengaturcaraan popular yang menyediakan banyak algoritma berulang untuk memproses data pengumpulan. Dalam artikel ini, kami akan meneroka butiran algoritma berulang dalam C++.

Apakah itu algoritma lelaran?

Algoritma lelaran ialah algoritma berdasarkan aplikasi berulang proses atau arahan. Dalam pengaturcaraan, gelung adalah salah satu algoritma lelaran yang paling biasa digunakan. Lelaran merujuk kepada secara beransur-ansur menghampiri hasil yang diingini dengan berulang kali melakukan operasi yang sama. Dalam pengaturcaraan, pernyataan gelung sering digunakan untuk melaksanakan lelaran.

Algoritma Lelaran dalam C++

Dalam C++, perpustakaan standard menyediakan beberapa algoritma lelaran berbeza yang menggunakan iterator untuk mengakses elemen dalam bekas.

Lelaran ialah objek penunjuk yang boleh mengakses elemen dalam bekas. Iterator menyediakan lintasan elemen dalam bekas dan membolehkan kami memproses data.

Berikut ialah beberapa algoritma lelaran yang biasa digunakan dalam perpustakaan standard C++:

  1. for_each

for_each ialah algoritma mudah dan berguna yang melaksanakan fungsi pada setiap elemen dalam bekas tertentu.

Berikut adalah contoh:

#include <algorithm>
#include <vector>
#include <iostream>

void display(int i) {
    std::cout << i << " ";
}

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    std::for_each(v.begin(), v.end(), display);
    return 0;
}
Salin selepas log masuk

Program ini akan mengeluarkan 1 2 3 4 5.

  1. find

algoritma find digunakan untuk mencari elemen dalam bekas dan mengembalikan lelaran elemen padanan pertama.

Berikut ialah contoh:

#include <algorithm>
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    auto i = std::find(v.begin(), v.end(), 3);
    if (i != v.end()) {
        std::cout << "Found " << *i << std::endl;
    }
    return 0;
}
Salin selepas log masuk

Program ini akan mengeluarkan Found 3.

  1. isih

Algoritma isihan digunakan untuk mengisih elemen dalam bekas mengikut fungsi perbandingan yang ditentukan.

Berikut adalah contoh:

#include <algorithm>
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v {5,2,7,4,3,6,1};
    std::sort(v.begin(), v.end());
    for (int i : v) {
        std::cout << i << " ";
    }
    return 0;
}
Salin selepas log masuk

Program ini akan mengeluarkan 1 2 3 4 5 6 7.

  1. akumulasi

algoritma terkumpul digunakan untuk mengumpul elemen dalam bekas kepada nilai awal.

Berikut ialah contoh:

#include <numeric>
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    int sum = std::accumulate(v.begin(), v.end(), 0);
    std::cout << "Sum: " << sum << std::endl;
    return 0;
}
Salin selepas log masuk

Program ini akan mengeluarkan Jumlah: 15.

  1. transform

Algoritma transformasi digunakan untuk menggunakan fungsi pada elemen dalam bekas dan menyimpan hasilnya dalam bekas lain.

Berikut adalah contoh:

#include <algorithm>
#include <vector>
#include <iostream>

int square(int i) {
    return i * i;
}

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    std::vector<int> v2(v.size());
    std::transform(v.begin(), v.end(), v2.begin(), square);
    for (int i : v2) {
        std::cout << i << " ";
    }
    return 0;
}
Salin selepas log masuk

Program ini akan mengeluarkan 1 4 9 16 25.

Ringkasan

Algoritma lelaran ialah algoritma popular yang sesuai untuk memproses data set. Dalam C++, perpustakaan standard menyediakan beberapa algoritma lelaran berbeza yang menyediakan cara yang mudah untuk memproses elemen dalam bekas. Kita boleh menggunakan algoritma ini untuk melintasi, mencari dan mengubah suai elemen dalam bekas. Kemahiran dalam algoritma berulang dalam C++ boleh membantu kami memproses data pengumpulan dengan lebih baik dan meningkatkan kecekapan pengaturcaraan kami.

Atas ialah kandungan terperinci Terokai algoritma berulang dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan