Giới thiệu về STL và lớp string trong C++
Tổng quan về STL
Thư viện Mẫu Chuẩn (STL - Standard Template Library) là một phần thiết yếu của thư viện chuẩn C++. Nó cung cấp các cấu trúc dữ liệu và thuật toán tổng quát dưới dạng template. STL bao gồm bốn thành phần chính: bộ chứa (containers), bộ lặp (iterators), thuật toán (algorithms) và đối tượng hàm (function objects). Thiết kế của STL ...
Đăng vào ngày 29 tháng 6 lúc 18:51
Cách sử dụng hashtable trong C++
Bảng băm (hash table) là cấu trúc dữ liệu phổ biến trong lập trình. Bài viết này tập trung vào cách sử dụng các phương thức của unordered_map và unordered_set trong C++ thông qua các ví dụ cụ thể.
Khai báo hash table
#include <unordered_map>
// Cú pháp tổng quát
unordered_map<KieuKhoa, KieuGiaTri> tenBien;
// Ví dụ với kiểu int
u ...
Đăng vào ngày 28 tháng 6 lúc 18:38
Thư viện STL C++: Các thuật toán phổ biến và ứng dụng
1. Thuật toán không thay đổi cấu trúc dãy
Các thuật toán trong nhóm này duyệt qua dữ liệu mà không làm thay đổi thứ tự hay giá trị của các phần tử trong container.
1.1 Tìm kiếm với find và find_if
find(begin, end, value): Trả về con trỏ lặp đến lần xuất hiện đầu tiên của value, nếu không thấy thì trả về end.
find_if(begin, end, pred): ...
Đăng vào ngày 27 tháng 6 lúc 16:48
Các Thuật toán Sắp xếp và Gộp trong C++ STL
Thư viện Chuẩn C++ (STL) cung cấp một tập hợp phong phú các thuật toán mạnh mẽ và hiệu quả, trong đó các thuật toán sắp xếp và gộp là những công cụ cơ bản để xử lý dữ liệu. Bài viết này sẽ khám phá cách sử dụng các thuật toán này, đặc biệt tập trung vào sắp xếp song song với std::vector và cách quản lý sắp xếp/gộp với std::list.
Sắp xếp so ...
Đăng vào ngày 26 tháng 6 lúc 22:14
Kỹ Thuật Làm Mờ Biểu Tượng Trong C++
1. Các thuật toán không thay đổi chuỗi
Đây là các thuật toán không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 Tìm kiếm với find và find_if
find(begin, end, value): Tìm phần tử đầu tiên bằng với value, trả về iterator (nếu không tìm thấy trả về end).
find_if(begin, end, predicate): Tìm phần tử đầu tiên thỏa mãn điều kiện củ ...
Đăng vào ngày 24 tháng 6 lúc 16:59
Kỹ Thuật Đồng Bộ Mạng Thời Gian Thực
1、Thuật Toán Không Sửa Đổi Dãy
Những thuật toán này không làm thay đổi các phần tử trong container mà chúng thao tác.
1.1 find và find_if
find(begin, end, value):Tìm phần tử đầu tiên bằng value và trả về iterator (trả về end nếu không tìm thấy).
find_if(begin, end, predicate):Tìm phần tử đầu tiên thỏa mãn điều kiện.
find_end(begin, end, sub ...
Đăng vào ngày 23 tháng 6 lúc 12:15
Luyện Tập Cơ Bản Thuật Toán Mùa Đông NowCoder 1
Luyện Tập Mùa Đông NowCoder - Phần 1
Dễ
A-Tìm Kiếm DFS
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
#define int long long
void giai()
{
int n;
cin >> n;
string s;
cin >> s;
map<char, bool> mapD, mapDCap;
bool coD = false, coDCap = false;
for(int i = 0; ...
Đăng vào ngày 23 tháng 6 lúc 01:44
Xử lý chi tiết lập trình thi đấu: Từ vòng lặp đến STL
1. Xử lý khoảng trắng và xuống dòng trong vòng lặp in đa dòng
Khi cần in ra nhiều dòng số, mỗi dòng chứa dãy số từ 1 đến n, ta phải xử lý riêng biệt ký tự ngăn cách (khoảng trắng) và ký tự kết thúc dòng (xuống dòng).
Xem mã nguồn
#include <cstdio>
int main() {
int limit;
scanf("%d", &limit);
for (int row = 0; row < limit; ...
Đăng vào ngày 21 tháng 6 lúc 21:49
Các Thuật Toán STL Trong C++ Cho Xử Lý Dữ Liệu
1. Thuật Toán Không Thay Đổi Dữ Liệu
Các thuật toán không làm thay đổi phần tử trong container.
1.1 Tìm kiếm (find và find_if)
vector<int> du_lieu = {2, 4, 6, 8, 10};
// Tìm phần tử có giá trị 6
auto vi_tri = find(du_lieu.begin(), du_lieu.end(), 6);
if (vi_tri != du_lieu.end()) {
cout << "Tim thay: " << *vi_tri << ...
Đăng vào ngày 21 tháng 6 lúc 02:46
Tìm kiếm nhị phân trong C++
Điều kiện áp dụng tìm kiếm nhị phân
Thuật toán tìm kiếm nhị phân chỉ hoạt động hiệu quả trên các cấu trúc dữ liệu đã được sắp xếp sẵn. Điều kiện tiên quyết là mảng phải có tính chất đơn điệu, cụ thể là đơn điệu không giảm hoặc đơn điệu không tăng.
Đơn điệu không giảm: Các phần tử tăng dần nhưng cho phép các phần tử liền kề bằng nhau
Đơn điệu ...
Đăng vào ngày 19 tháng 6 lúc 21:56