Level 224 bài
Array và String
Thành thạo mảng một và hai chiều, hiểu chuỗi C là mảng ký tự kết thúc bằng ký tự null.
Chương 9. Mảng một chiều
Khai báo, duyệt, tìm kiếm, min max, sắp xếp cơ bản.
- 9.1Mảng là gìBố cục bộ nhớ, công thức địa chỉ, và lý do C không kiểm tra biên mảng.18 phút
- 9.2Khởi tạo mảngSáu cách khởi tạo, khởi tạo có chỉ định của C99, và vì sao không gán mảng bằng dấu bằng.17 phút
- 9.3Truy cập phần tửBốn cách viết tương đương, công thức địa chỉ, và bẫy chỉ số có dấu.15 phút
- 9.4Duyệt mảngBa cách duyệt, macro đếm phần tử và giới hạn của nó, cùng cách in mảng gọn gàng.16 phút
- 9.5Tìm kiếmTìm tuyến tính, tìm nhị phân, bẫy tràn khi tính điểm giữa, và bsearch của thư viện chuẩn.22 phút
- 9.6Tìm giá trị nhỏ nhất và lớn nhấtCách khởi tạo đúng, trả về cả vị trí, và thuật toán tìm cả hai bằng ít phép so sánh hơn.16 phút
- 9.7Tổng và trung bìnhHai cái bẫy tràn số và chia nguyên, cùng sai số cộng dồn với số thực.17 phút
- 9.8Sắp xếp cơ bảnBa thuật toán sắp xếp O(n bình phương), tính ổn định, và bài đo thời gian thực tế.28 phút
Chương 10. Mảng hai chiều
Ma trận, cộng, nhân, chuyển vị, đường chéo.
- 10.1Ma trậnKhai báo, bố cục theo hàng, vì sao chiều thứ hai bắt buộc phải ghi.18 phút
- 10.2Nhập và xuất ma trậnVòng lặp lồng chuẩn, căn cột khi in, và cách kiểm tra dữ liệu vào.15 phút
- 10.3Cộng và trừ ma trậnPhép toán theo từng phần tử, điều kiện kích thước, và cách viết hàm dùng lại được.14 phút
- 10.4Nhân ma trậnBa vòng lặp lồng nhau, độ phức tạp lập phương, và thứ tự vòng lặp quyết định tốc độ.24 phút
- 10.5Chuyển vịChuyển vị ra mảng mới và chuyển vị tại chỗ cho ma trận vuông.14 phút
- 10.6Đường chéo và tam giácHai đường chéo, ba vùng tam giác, và điều kiện chỉ số của từng vùng.15 phút
Chương 11. String
Ký tự kết thúc chuỗi, thư viện string.h và tự cài lại các hàm.
- 11.1Chuỗi trong CChuỗi là mảng ký tự, khác biệt giữa mảng ghi được và hằng chuỗi chỉ đọc.18 phút
- 11.2Ký tự kết thúc chuỗiVì sao mọi hàm chuỗi đều phụ thuộc vào một byte 0, và chuyện gì xảy ra khi thiếu nó.18 phút
- 11.3Nhập chuỗiVì sao gets bị xóa khỏi chuẩn, cách dùng fgets đúng, và xử lý ký tự xuống dòng.20 phút
- 11.4strlenĐếm ký tự trước byte 0, chi phí tuyến tính, và bẫy gọi strlen trong điều kiện vòng lặp.15 phút
- 11.5strcpySao chép chuỗi, vì sao strcpy nguy hiểm, và cách dùng snprintf thay thế.18 phút
- 11.6strcatNối chuỗi, chi phí bậc hai khi nối trong vòng lặp, và cách nối hiệu quả.17 phút
- 11.7strcmpSo sánh theo thứ tự từ điển, ý nghĩa dấu của kết quả, và bẫy so sánh chuỗi bằng dấu bằng.16 phút
- 11.8strchrTìm ký tự trong chuỗi, chiều tìm ngược, và cách tách chuỗi bằng con trỏ.15 phút
- 11.9strstrTìm chuỗi con, độ phức tạp thực tế, và cách thay thế mọi lần xuất hiện.18 phút
- 11.10Tự cài lại thư viện chuỗiCài lại tám hàm của string.h, kèm bộ kiểm thử tự động so với bản chuẩn.26 phút