Cấu trúc dữ liệu - Ngăn xếp
Khái niệm và nguyên lý cơ bản
Ngăn xếp (stack) là một cấu trúc dữ liệu tuyến tính hoạt động theo nguyên tắc "vào sau - ra trước" (LIFO - Last In, First Out). Các thao tác chèn và xóa phần tử chỉ xảy ra ở một đầu gọi là đỉnh ngăn xếp (top). Đầu còn lại được gọi là đáy (bottom). Khi ngăn xếp không chứa phần tử nào, ta gọi là ngăn xếp rỗng.
Ví dụ ...
Đăng vào ngày 3 tháng 10 lúc 12:13
Cơ bản về Rust: Biến kiểu dữ liệu, điều khiển luồng và tổ chức mã nguồn
Rust là ngôn ngữ lập trình hệ thống hiện đại với khả năng quản lý bộ nhớ an toàn mà không cần garbage collector. Bài viết này tổng hợp những khái niệm cốt lõi khi bắt đầu làm việc với Rust.
Thiết lập môi trường phát triển
Công cụ quản lý phiên bản chuẩn của Rust là rustup. Cài đặt thông qua terminal:
curl --proto '=https' --tlsv1.2 -sSf http ...
Đăng vào ngày 23 tháng 9 lúc 08:41
Triển khai Từ khóa và Tái định nghĩa Toán tử cho Lớp Vector trong C++
Thao tác dịch chuyển vector không dùng từ khóa toán tử
Xây dựng lớp vector thực hiện tính toán cơ bản mà không dùng từ khóa toán tử yêu cầu định nghĩa phương thức riêng. Cách tiếp cận này có thể khiến mã lệnh trở nên quá dài dòng và giảm tính trực quan.
#include<iostream>
#include<string>
struct Vec2D {
float toadox, toadoy;
...
Đăng vào ngày 14 tháng 9 lúc 01:16
Struct trong Go: Các khái niệm và cách sử dụng
1. Giới thiệu về struct
Trong Go, kiểu dữ liệu struct tương tự như class trong Java, dùng để nhóm các trường dữ liệu có liên quan lại với nhau. Cú pháp khai báo cơ bản như sau:
type TenStruct struct {
truong1 kieu1
truong2 kieu2
...
}
Quy tắc về tầm nhìn (visibility) được áp dụng cho tên struct và tên trường: nếu bắt đầu bằng chữ cá ...
Đăng vào ngày 12 tháng 9 lúc 12:02
Xử Lý Tệp Và Dữ Liệu Cấu Trúc Trong Ngôn Ngữ C
Thống Kê Tệp Văn Bản
Chương trình sau đây đọc một tệp văn bản và tính toán số lượng dòng cùng với tổng số ký tự hợp lệ, không bao gồm các khoảng trắng và ký tự tab.
Hiển thị mã nguồn
#include <stdio.h>
int main() {
FILE *tai_lieu;
char ky_tu;
int so_dong = 0;
int dem_ky_tu = 0;
tai_lieu = fopen("du_lieu.txt", "r");
...
Đăng vào ngày 31 tháng 7 lúc 10:06
Kiểu Cấu Trúc (Struct) trong Go
Giới thiệu về Cấu trúc (Struct)
Cấu trúc (struct) trong Go là một kiểu dữ liệu tổng hợp mạnh mẽ, cho phép bạn nhóm các trường dữ liệu có thể thuộc các kiểu khác nhau thành một đơn vị logic duy nhất. Điều này rất hữu ích để mô hình hóa các thực thể trong thế giới thực hoặc tổ chức dữ liệu có liên quan lại với nhau.
Mỗi phần tử bên trong một cấu ...
Đăng vào ngày 29 tháng 7 lúc 19:55
Căn chỉnh byte trong cấu trúc (Struct)
1. Các thành viên cấu trúc là kiểu dữ liệu cơ bảnKhi các thành viên của cấu trúc có kiểu dữ liệu cơ bản, địa chỉ bắt đầu của mỗi thành viên phải là bội số của kích thước kiểu dữ liệu. Nếu không, việc gán giá trị có thể không hoạt động như mong đợi.#include <stdint.h>
#include <string.h>
typedef struct {
uint8_t fieldA;
uint ...
Đăng vào ngày 23 tháng 7 lúc 07:08
Xử lý hiệu quả tệp nhị phân trong Python: Kỹ thuật thực tiễn
1. Nguyên lý cơ bản của tệp nhị phân
Khác với tệp văn bản — nơi dữ liệu được mã hóa theo chuẩn UTF-8 hoặc ASCII và đọc theo dòng — tệp nhị phân lưu trữ luồng byte thô, không qua giải mã. Việc xử lý chúng đòi hỏi thao tác trực tiếp trên từng byte hoặc cấu trúc nhị phân có định dạng rõ ràng.
Tính chất
Tệp văn bản
Tệp ...
Đăng vào ngày 7 tháng 7 lúc 19:20
Hiểu về Methods và Interface trong Go
Phương pháp lập trình hướng đối tượng
Phần trước đã giới thiệu hàm (function) giúp tái sử dụng code, đó là kiểu lập trình hàm.
Lập trình hướng đối tượng (OOP) dựa trên đối tượng và phương thức, cho phép thao tác trên một đối tượng cụ thể thay vì chỉ gọi hàm đơn thuần.
So sánh hàm và phương thức
// Cách tiếp cận với hàm
func an(nguoi string) ...
Đăng vào ngày 6 tháng 7 lúc 03:21
Quản lý dữ liệu học sinh và thư viện bằng cấu trúc trong C
Nhiệm vụ 1: Quản lý điểm số học sinh
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 3
typedef struct {
int student_id;
char student_name[20];
char subject_name[20];
double performance_score;
double midterm_score;
double final_score;
double total_score;
char grade[10];
} StudentRecord;
...
Đăng vào ngày 21 tháng 6 lúc 05:23