tailieunhanh - Kỹ thuật lập trình - Chapter 3

Tài liệu tham khảo giáo trình kỹ thuật lập trình gồm 6 chương - Chương 3 Các thuật toán trên cấu trúc dữ liệu mảng | Kỳ thuật lập trì nh 70 CHƯƠNG 3 CÁC THUẬT TOÁN TRÊN CÂU TRÚC DỮ LIỆU MẢNG I. MẢNG KHÔNG SAP XẾP YẤ THUẬT TOÁN TÌM KIẾM TRỂN MẢNG CHƯA có THỨ Tư . Mô t số khá i niê m về mả ng . ĐỊnh nghĩ a Mảng là 1 dãy các phần tử có cùng kiểu dữ liệu -ợc sắp xếp liên tiếp nhau trong bộ nhớ Khai báo Cú pháp Khai báo mảng 1 chiều Kiểu_DL Tênmảng kí ch th-ớc Kiể u_DL là 1 trong cá c kiể u dữ liệ u cơ bản ó là kiể u của phầ n tử của mảng Tênmảng là tên của mảng - ợc ặt 1 cách hợp lệ Kí ch th-ớc là 1 hằng nguyên cho biết số phần tử tối a của mảng Ví du 1 Khai báo 1 mảng số nguyên int n int M n SAI int M 10 úng vì kích th- ớc mảng phải là hằng không phải là biến define max 100 int M max Ví du 2 Khai báo 1 danh sách họ tên học viên của 1 lớp học char dshv 50 30 dshv có thể chứa tối a họ tên 50 học viên chiều dài họ tên mỗi học viên tối a là 30 ký tự Cú pháp Khai bá o mả ng 2 chiề u Kỳ thuật lập trì nh 71 Kiểu_DL Tênmảng kí ch thước 1 kí ch thước 2 Chú ý Một mảng trong C các phần tử được đánh số từ 0 tới n-1 Ví du Với M 10 thì thành phần thứ 1 là M 0 thành phần cuối cùng M 9 C không bắt bẻ không kiể m tra xem biến đếm có vư ợt ra khỏi giới hạn cho phép củ a mả ng chư a. Do đ ó chứng ta phả i kiể m tra biến đếm trong chư ơng trì nh phả i nhỏ hơn n . Khởi động trị cho mảng Ta khởi động đ ư ợc trị cho mảng trong 2 trư ờng hợp sau Mảng được khai báo là biến ngoài main nghĩ a là biến toàn cục Mảng đ ư ợc khai báo cục bộ Ví du 1 int M 3 10 11 12 main Ví du 2 main static int M 10 22 30 Ta có thể gán 1 hằng cho cả mảng như sau memset M 0 sizeof int 3 gán 0 cho mảng M với M có 3 phần tử Từ khó a static dùng để khai bá o 1 biến cục bộ thường trực cho phép duy trì giá trị riêng của nó ở những lần gọi hàm sau này. Khởi tạ o mả ng 2 chiề u int M 2 3 1 2 3 0 1 0 . Truy xuất thành phần của mảng M chỉ số Truy xuất thành phần thứ 2 của mảng 1 chiều M 1 Truy xuất thành phần thứ i của mảng 1 chiều M i-1 Truy xuất thành phần dòng 2 cột 3 của mảng 2 chiều M 1 2 . Đọc nhập dữ liệ u cho