Bài giảng Kiểu dữ liệu phức hợp - Hoàng Thân Anh Tuấn
lượt xem 1
download
Mời các bạn tham khảo bài giảng Kiểu dữ liệu phức hợp do Hoàng Thân Anh Tuấn biên soạn sau đây để bổ sung thêm kiến thức về kiểu dữ liệu đơn giản; kiểu dữ liệu phức hợp; phân loại kiểu dữ liệu phức hợp; mảng (mảng 1 chiều, mảng 2 chiều).
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiểu dữ liệu phức hợp - Hoàng Thân Anh Tuấn
- Kiểu dữ liệu phức hợp Hoàng Thân Anh Tuấn Khoa Toán – Tin học Đại học Sư phạm TPHCM
- Nội dung Kiểu dữ liệu đơn giản (cơ bản) Kiểu dữ liệu phức hợp Phân loại kiểu dữ liệu phức hợp Mảng – Mảng 1 chiều – Mảng 2 chiều Cấu trúc
- Kiểu dữ liệu đơn giản int,double, char, bool, … Tạo ra các đối tượng cơ bản (thường gọi là biến. Các đối tượng cơ bản trả lời cho một câu hỏi duy nhất: “nó đang mang giá trị gì?” Mỗi đối tượng cơ bản tại một thời điểm chỉ mang một giá trị duy nhất
- Kiểu dữ liệu phức hợp Được hình thành từ các kiểu dữ liệu đã có: – Kiểu dữ liệu cơ bản – Kiểu dữ liệu phức hợp đã được tạo trước đó Tạo ra các đối tượng phức tạp, gần với thế giới thực Một đối tượng phức tạp (gọi tắt là đối tượng) có thể mang nhiều giá trị.
- Ví dụ 1: Chương trình quản lý sinh viên Thông tin của một sinh viên gồm có: – Mã số sinh viên – Họ tên sinh viên – Năm sinh – Phái Để mô tả một sinh viên chúng ta cần 4 đối tượng cơ bản: – int maSV; – string hoten; – int namsinh; – int phai;
- Ví dụ 1: Chương trình quản lý sinh viên (tt) Câu hỏi: “Liệu có thể mô tả một sinh viên bởi một đối tượng duy nhất?” Đối tượng sinh viên maSV hoten Có 4 giá trị namsinh phai
- Ví dụ 2: Nhập và lưu điểm của sinh viên 1 sinh viên: double diem; cin >> diem; 2 sinh viên: double diem1, diem2; cin >> diem1 >> diem2; 5 sinh viên: double diem1, diem2, diem3, diem4, diem5; cin >> diem1 >> diem2 >> diem3 >> diem4 >> diem5;
- Ví dụ 2: Nhập và lưu điểm của sinh viên (tt) 100 sinh viên 100 biến (đối tượng cơ bản) bất tiện Câu hỏi: “Liệu có cách nào biểu diễn điểm của tất cả các sinh viên bằng một đối tượng duy nhất?” Đối tượng điểm Có 100 giá trị
- Phân loại kiểu dữ liệu phức hợp Các giá trị được lưu có cùng chung một kiểu mảng Các giá trị được lưu khác kiểu nhau cấu trúc
- Mảng Công dụng – Dùng để lưu các đối tượng có cùng chung một kiểu và ý nghĩa sử dụng Phân loại – Mảng 1 chiều – Mảng 2 chiều Khai báo Cách sử dụng Các thao tác cơ bản trên mảng
- Mảng (2) Công dụng – Dùng để lưu các đối tượng có cùng chung một kiểu và ý nghĩa sử dụng Phân loại – Mảng1 chiều – Mảng 2 chiều – Mảng n chiều
- Mảng (3) Khai báo mảng: 0 1 … SPT-2 SPT-1 – Mảng 1 chiều: Kiểu Tên-mảng[số phần tử]; … Ý nghĩa: là một mảng có kiểu . Phần tử đầu tiên nằm ở vị trí thứ 0. •Ví dụ: Phần tử cuối cùng nằm ở vị trí - 1. •int A[10]; // mảng A có 10 Lưu ý: số phần tử trong phần tử kiểu nguyên câu khai báo mảng phải là một hằng số hoặc một •double mangthuc[100]; mảng biểu thức của các hằng số. mangthuc có 100 phần tử kiểu Có thê là biến (mới) thực •const int MAX = 100; double mangthuc[MAX];
- Mảng (4) Khai báo mảng: 0 1 … SC-1 – Mảng 2 chiều: Kiểu Tên-mảng[số dòng][số cột]; 0 Ý nghĩa: là một ma trận có dòng và cột. Phần tử đầu tiên nằm ở vị trí dòng thứ 0, cột thứ 0. … Phần tử cuối cùng nằm ở vị trí dòng - 1 và cột - 1. Lưu ý: số dòng, số cột phải là •Ví dụ: một hằng số hoặc một biểu thức của các hằng số. int A[10][5]; // ma trận Có thể là biến (mới) 10 dòng, 5 cột const int MAXX = 10; const int MAXY = 5; int A[MAXX][MAXY];
- Mảng (5) Sử dụng mảng: – Để truy xuất đến phần tử nằm ở vị trí thứ i của dãy A: A[i]. Có thể thay i bằng một biểu thức có kết quả lượng giá là một số nguyên trong khoảng hợp lệ. C++ không kiểm tra lỗi phạm vi. – Để truy xuất đến phần tử nằm ở vị trí dòng i, cột j của ma trận A: A[i][j] Có thể thay I, j bằng một biểu thức có kết quả lượng giá là một số nguyên trong khoảng hợp lệ. Lưu ý sự khác biệt giữa Pascal và C++. – Một khi đã truy xuất đến một phần tử của mảng, thì vai trò của phần tử của mảng hoàn toàn như vai trò của biến. Nghĩa là có thể thực hiện thao tác nhập, xuất, gán, lấy giá trị tính toán,…
- Mảng (6) Các thao tác thường gặp trên mảng một chiều: – Qui ước mảng: int A[100]; // mảng có thể chứa tối đa 100 phần tử int n; // số phần tử thật sự sẽ sử dụng – Các thao tác trên mảng một chiều thường đi kèm với một vòng for – Nhập một dãy (giả sử đã nhập n) for (int i = 0 ; i < n ; i++) { cout
- Xuất dãy setw(6); // định dạng độ rộng để xuất for (int i = 0 ; i < n ; i++) cout 0 ; i--) A[i] = A[i-1]; A[0] = v; n++;
- Thêm một phần tử v vào vị trí thứ k của dãy for (int i = n ; i > k ; i--) A[i] = A[i-1]; A[k] = v; n++; Xóa phần tử nằm tại vị trí thứ k của dãy n--; for (int i = k ; i < n ; i++) A[i] = A[i+1];
- Tìm kiếm vị trí của phần tử mang giá trị x int dem = 0; for (int i = 0 ; i < n ; i++) if (A[i] == x) { cout
- Sắp xếp dãy theo thứ tự tăng dần for (int i = 0 ; i < (n – 1) ; i++) { for (int j = n – 1 ; j > I ; j++) if (A[j] < A[j-1]) { int temp = A[j]; A[j] = A[j-1]; A[j-1] = temp; } }
- Tìm Min int min = A[0]; for (int i = 1 ; i < n ; i++) if (A[i] < min) min = A[i]; cout
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 162 | 9
-
Bài giảng Tin học tính toán: Chương 2 - ThS. Huỳnh Văn Kha
67 p | 91 | 8
-
Bài giảng Ngôn ngữ lập trình C: Dữ liệu kiểu cấu trúc - Ninh Thị Thanh Tâm
55 p | 90 | 8
-
Chương 10:Kiểu Cấu trúc
24 p | 86 | 6
-
Bài giảng Ngôn ngữ lập trình
98 p | 50 | 5
-
Bài giảng Bài 2: Variable and Data Types - Biến và kiểu dữ liệu
24 p | 87 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái
34 p | 69 | 5
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - ThS. Nguyễn Hà Giang
46 p | 94 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Chương 1: Tổng quan về giải thuật và cấu trúc dữ liệu
10 p | 66 | 4
-
Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 2 - TS. Nguyễn Phúc Khải
24 p | 4 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - Nguyễn Thị Mỹ Dung
47 p | 24 | 3
-
Bài giảng Kỹ thuật lập trình: Chương 2 - TS. Vũ Hương Giang
40 p | 45 | 3
-
Bài giảng Tin học cơ sở 2: Chương 2 - ThS. Nguyễn Mạnh Sơn
38 p | 72 | 3
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Võ Quang Hoàng Khang
32 p | 72 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 13 - TS. Nguyễn Phúc Khải
24 p | 7 | 3
-
Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 13: Các kiểu dữ liệu có cấu trúc và kiểu dữ liệu tự định nghĩa (GV. Nguyễn Nhật Nam)
27 p | 17 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn