Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,01 MB
Nội dung
NGƠN NGỮ LẬP TRÌNH Bài Thư viện chuẩn (Standard Template Library) Giảng viên: Nguyễn Xuân Hùng Mobile: 0908 386 366 Email: nguyenxuanhung@wru.vn Nguyễn Xuân Hùng – Khoa CNTT – Trường Đại học Thủy Lợi NỘI DUNG Cơ Vector Cơ String Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Mục đích: sử dụng với tập phần tử có kiểu Khái niệm: kiểu liệu giống mảng phình to thu nhỏ kích thước chương trình chạy Nhược điểm mảng: Kích thước khai báo cố định Khơng thuận tiện việc truyền tham số kiểu mảng hàm trả kiểu mảng Sử dụng vượt số mảng, C++ không thông báo lỗi dẫn tới tác động dây truyền Vector container cung cấp khả sử dụng mảng mềm dẻo, có kiểm sốt miền cần thiết với kích thước tùy ý Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Khai báo: Khai báo thư viện: Khai báo sử dụng: vector a; Khai báo vector a có kiểu int vector a(10); Khai báo vector a có 10 phần tử kiểu int vector a(10, 2); khai báo vector a có 10 phần tử kiểu int khởi tạo Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Các phương thức hỗ trợ lớp vector Phương thức v.assign(n, e) v[i] v.at(i) v.clear() v.pop_back() v.push_back(e) v.resize(newsSize) Ngữ nghĩa Thay nội dung v n e Tham chiếu đến phần tử thứ i vector v Làm rỗng vector v Xóa phần tử cuối vector v Ghép thêm phần tử e vào cuối vector v Đổi cỡ vector v thành newSize Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Ví dụ: Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Thay đổi kích thước vector: dùng hàm resize(); Ví dụ: Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Thêm phần tử lấy phần tử khỏi vector: dùng push_bach(item) pop_back(); Ví dụ: Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Xóa vị trí bất kỳ, xóa trắng: dùng phương thức earse(i) clear() Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Phương thức chèn phần tử: dùng insert() sau: 10 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Phương thức kiểm tra xem vector rỗng hay không? sử dụng: empty(); Phương thức kiểm tra số lượng tối đa mà vector cấp phát: capacity(); 12 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Phương thức cấp phát vùng nhớ cho vector: reserve() hạn chế vector tự cấp phát vùng nhớ khơng cần thiết Hốn đổi vector với nhau: v1.swap(v2) đổi giá trị v1 cho v2 ngược lại 13 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Mảng chiều với vector: 14 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Sử dụng iterator: lặp hay biến lặp với container (thùng chứa) như: mảng, list, vector… Một số phương thức liên quan tới container 15 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ vector Truy cập tới phần tử container sử dụng iterator Ví dụ: 16 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ C-string Kiểu mảng để biểu diễn xâu: Một biến C-string mảng ký tự Khai báo biến C-string Ví dụ: char myCstring[11]; biến myCstring chứa Cstring có 10 ký tự Ký tự thứ 11 ký tự kết thúc C-string Khởi tạo C-string: char myCstring[11] = “Hi there.”; char shortString[ ] = “abc”; 17 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ C-string Thư viên C-string: cung cấp hàm xây dựng sẵn Khai báo thư viên #include 18 Hàm Mô tả strcpy(target, source) Sao chép giá trị source vào target strcpy(target, source, limit) Sao chép limit giá trị source vào target strcat(target, source) Nối giá trị source vào đuôi target strncat(target, source, limit) Nối limit giá trị vào đuôi target strlen(source) Trả chiều dài source, khơng tính ‘\0’ strcmp(s1, s2) Trả s1 giống s2, nhỏ s1 < s2 lớn s1 > s2 strncmp(s1, s2, limit) Tương tự strcmp hạn chế kí tự so sánh Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ C-string Xuất nhập với C-string: sử dụng getline() Ví dụ: Các hàm thành viên: putback(): nhận đối số kiểu char, đưa giá trị đối số ngược trả lại luồng nhập peek(): trả kí tự đọc cin, không sử dụng ký tự ignore(): bỏ qua việc nhập ký tự rõ Ví dụ: cin.ignore(1000,’\n’); ký tự ‘\n’ không xuất 1000 ký tự bị bỏ qua 19 Nguyễn Xuân Hùng – Khoa CNTT – ĐH Thủy Lợi 12/18/2014 Cơ C-string Một số hàm với ký tự: 20 Hàm Mô tả toupper(c) trả ký tự hoa c tolower(c) trả ký tự thường c isupper(c) trả true c ký tự hoa islower(c) trả true c ký tự thường isalpha(c) trả true c chữ isdigit(c) trả true c số isspace(c) trả true c dấu cách isalnum(c) trả true c chữ số ispunct(c) trả true c ký tự in khác ký tự trắng, chữ số chữ isgraph(c) trả true c ký tự in mà khác ký tự trắng isctrl(c) trả–về Nguyễn Xuân Hùng – Khoa CNTT ĐHtrue Thủy Lợi c ký tự điều khiển 12/18/2014 Lớp chuẩn string Lớp string định nghĩa sẵn thư viện , đặt không gian tên std; Khai báo: string s1, s2; s1 = “hello world”; string s3(“hello”); Xuất nhập với string: sử dụng getline(cin, s1) để đọc chuỗi vào biến s1 Truy cập phần tử: cout