Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
249,63 KB
Nội dung
Click to edit Master subtitle style MẢNG MỘT CHIỀU Khoa Cơng nghệ thơng tin, HUFLIT Nội dung Tình Khái niệm mảng 1 chiều Nhập xuất mảng 1 chiều Hàm có tham số mảng Các toán mảng 1 chiều TÌNH HUỐNG Tình huống Chương trình cần lưu trữ 3 số ngun? Khai báo 3 biến nguyên int a, b, c; Chương trình cần lưu trữ 100 số nguyên? Khai báo 100 biến nguyên Chương trình cần lưu trữ n biến nguyên: ଵ ଶ Giải pháp Cần sử dụng kiểu dữ liệu cho phép lưu trữ một dãy các số nguyên và có thể dễ dàng truy xuất số nguyên dãy Sử dụng kiểu liệu mảng KHÁI NIỆM MẢNG 1 CHIỀU Khái niệm mảng chiều Mảng 1 chiều: Dùng để biểu diễn dãy biến có kiểu liệu Khai báo mảng type[] arrayName; Ví dụ: khai báo dãy số nguyên int[] a; ଵ ଶ Khái niệm mảng chiều Tạo mảng có n phần tử: arrayName = new type[n]; Có thể vừa khái báo vừa tạo mảng type[] arrayName = new type[n]; Ví dụ Khai báo mảng 1 chiều gồm 5 phần tử kiểu int int[] A = new int[5]; Chỉ số Phần tử A[0] A[1] A[2] A[3] A[4] Khởi tạo giá trị khi khai báo Cú pháp: Type[] arrayName = new Type[] {value1, value2, …, valueN}; Truyền mảng cho hàm Tham số kiểu mảng trong khai báo hàm giống như khai báo biến mảng Ví dụ: static void NhapMang(int[] A, int n) Chú ý: Mảng là kiểu dữ liệu tham chiếu nên khi truyền mảng trong hàm cũng là truyền theo kiểu tham chiếu (khơng cần từ khóa ref hay out) Gọi hàm Khi gọi hàm có tham số là mảng, chỉ cần truyền tên của mảng làm đối số cho hàm Ví dụ: int n = 5; int[] A = new int[5]; nhapMang(A, n); Bài tập Viết lại hai bài tập bên trên bằng cách sử dụng hàm MỘT SỐ BÀI TỐN VỀ MẢNG Một số bài tốn cơ bản Tính tổng giá trị mảng Tìm kiếm một phần tử trong mảng Tìm giá trị nhỏ nhất/lớn nhất Sắp xếp mảng giảm dần/tăng dần Tổng giá trị của mảng u cầu: Cho mảng A có n phần tử Tính tổng giá trị của tất cả phần tử trong mảng Phương pháp: Cộng dồn lần lượt từng phần tử của mảng cho đến khi hết mảng Tổng giá trị của mảng MẢNG A 10 20 30 10 30 60 40 100 50 150 Tìm kiếm phần tử u cầu: Cho mảng A có n phần tử Tìm phần tử có giá trị x xem nó có trong mảng A hay khơng Nếu có nó nằm ở vị trí nào trong mảng Phương pháp: Xét lần lượt từng phần tử của mảng A Nếu phần tử đang xét bằng x thì trả về chỉ số của phần tử đó Nếu khơng tồn tại trả về ‐1 Tìm giá trị nhỏ nhất u cầu: Cho mảng A có n phần tử Tìm phần tử nhỏ nhất (min) trong mảng A Phương pháp: Dùng biến min để lưu giá trị nhỏ nhất Giả sử min ban đầu là phần tử đầu tiên của mảng Lần lượt xét các phần tử cịn lại để cập nhật giá trị nhỏ nhất cho biến min Tìm giá trị lớn nhất u cầu: Cho mảng A có n phần tử Tìm phần tử lớn nhất (max) trong mảng A Phương pháp: Dùng biến max để lưu giá trị lớn nhất Giả sử max ban đầu là phần tử đầu tiên của mảng Lần lượt xét các phần tử cịn lại để cập nhật giá trị lớn nhất cho biến max Sắp xếp mảng giảm dần u cầu: Cho mảng A có n phần tử Sắp xếp mảng A sao cho giá trị các phần tử giảm dần Phương pháp: Dùng hai vịng for để so sánh tất cả các cặp phần tử với nhau Hốn vị các cặp phần tử nghịch thế (sai thứ tự) Sắp xếp mảng tăng dần u cầu: Cho mảng A có n phần tử Sắp xếp mảng A sao cho giá trị các phần tử tăng dần Phương pháp: Dùng hai vịng for để so sánh tất cả các cặp phần tử với nhau Hốn vị các cặp phần tử nghịch thế (sai thứ tự) Bài tập Bài tập 1: Tính tổng của dãy số ngun n phần tử do người dùng nhập Bài tập 2: Viết hàm tìm vị trí của phần tử có giá trị x trong mảng số ngun n phần tử Bài tập 3: Viết hàm tìm giá trị lớn nhất trong mảng số thực n phần tử Bài tập 4: Viết hàm sắp xếp mảng số ngun n phần tử theo thứ tự giảm dần Bài tập Bài tập 5: Viết hàm tính trung bình cộng của mảng số ngun n phần tử Bài tập 6: Viết hàm đếm xem có bao nhiêu phần tử là số chẵn trong mảng số nguyên n phần tử Bài tập 7: Viết hàm đếm xem có bao nhiêu phần tử có giá trị x trong mảng số nguyên n phần tử Tóm tắt Khái niệm mảng 1 chiều Khai báo sử dụng mảng Các toán mảng Bài tập