Truy cập phần tử front trả về gi? trị

  • No School
  • AA 1
  • 43

This preview shows page 9 - 12 out of 43 pages.

Truy cập phần tử : - front: trả về giá trị phần tử đầu tiên. ĐPT O(1). - back: trả về giá trị phần tử cuối cùng. ĐPT O(1). Chỉnh sửa: - push_back : thêm phần tử vào ở cuối list. ĐPT O(1). - push_front : thêm phần tử vào đầu list. ĐPT O(1). - pop_back : loại bỏ phần tử ở cuối list. ĐPT O(1). - pop_front : loại bỏ phần tử ở đầu list. ĐPT O(1). - insert (iterator,x): chèn “x” vào trước vị trí “iterator” ( x có thể là phần tử hay iterator của 1 đoạn phần tử…). ĐPT là số phần tử thêm vào. - erase : xóa phần tử ở vị trí iterator. ĐPT là số phần tử bị xóa đi. - swap : đổi 2 list cho nhau (ví dụ: first.swap(second);). ĐPT O(1). - clear: xóa list. ĐPT O(n). Operations: - splice : di chuyển phần tử từ list này sang list khác. ĐPT O(n). - remove (const) : loại bỏ tất cả phần tử trong list bằng const. ĐPT O(n). - remove_if (function) : loại bỏ tất các phần tử trong list nếu hàm function return true . ĐPT O(n). - unique : loại bỏ các phần tử bị trùng lặp hoặc thỏa mãn hàm nào đó. ĐPT O(n). Lưu ý: Các phần tử trong list phải được sắp xếp. - sort : sắp xếp các phần tử của list. O(NlogN) - reverse : đảo ngược lại các phần tử của list. O(n). 5. Stack (Ngăn xếp): - Stack là một loại container adaptor, được thiết kế để hoạt động theo kiểu LIFO (Last - in first - out) (vào sau ra trước), tức là một kiểu danh sách mà việc bổ sung và loại bỏ một phần tử được thực hiển ở cuối danh sách. Vị trí cuối cùng của stack gọi là đỉnh (top) của ngăn xếp. Khai báo: #include <stack> Các hàm thành viên: - size : trả về kích thước hiện tại của stack. ĐPT O(1). - empty : true stack nếu rỗng, và ngược lại. ĐPT O(1). - push : đẩy phần tử vào stack. ĐPT O(1). - pop : loại bỏ phẩn tử ở đỉnh của stack. ĐPT O(1). - top : truy cập tới phần tử ở đỉnh stack. ĐPT O(1).
Image of page 9
STL for newbies – Điêu Xuân Mạnh – D10CN6 PTIT 10 Chương trình demo: #include <iostream> #include <stack> using namespace std; stack <int> s; int i; main() { for (i=1;i<=5;i++) s.push(i); // s={1,2,3,4,5} s.push(100); // s={1,2,3,4,5,100} cout << s.top() << endl; // In ra 100 s.pop(); // s={1,2,3,4,5} cout << s.empty() << endl; // In ra 0 cout << s.size() << endl; // In ra 5 system("pause"); } 6. Queue (Hàng đợi): - Queue là một loại container adaptor, được thiết kế để hoạt động theo kiểu FIFO (First - in first - out) (vào trước ra trước), tức là một kiểu danh sách mà việc bổ sung được thực hiển ở cuối danh sách và loại bỏ ở đầu danh sách. - Trong queue, có hai vị trí quan trọng là vị trí đầu danh sách (front), nơi phần tử được lấy ra, và vị trí cuối danh sách (back), nơi phần tử cuối cùng được thêm vào. Khai báo: #include <queue> Các hàm thành viên: - size : trả về kích thước hiện tại của queue. ĐPT O(1). - empty : true nếu queue rỗng, và ngược lại. ĐPT O(1). - push : đẩy vào cuối queue. ĐPT O(1). - pop: loại bỏ phần tử (ở đầu). ĐPT O(1). - front : trả về phần tử ở đầu. ĐPT O(1). - back: trả về phần tử ở cuối. ĐPT O(1). Chương trình demo: #include <iostream> #include <queue> using namespace std; queue <int> q; int i; main() { for (i=1;i<=5;i++) q.push(i); // q={1,2,3,4,5} q.push(100); // q={1,2,3,4,5,100} cout << q.front() << endl; // In ra 1 q.pop(); // q={2,3,4,5,100} cout << q.back() << endl; // In ra 100 cout << q.empty() << endl; // In ra 0 cout << q.size() << endl; // In ra 5 system("pause"); }
Image of page 10
STL for newbies – Điêu Xuân Mạnh – D10CN6 PTIT 11 7. Priority Queue (Hàng đợi ưu tiên): - Priority queue là một loại container adaptor, được thiết kế đặc biệt để phần tử ở đầu luôn luôn lớn nhất (theo một quy ước về độ ưu tiên nào đó) so với các phần tử khác.
Image of page 11
Image of page 12

You've reached the end of your free preview.

Want to read all 43 pages?

  • Fall '19

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes
A+ icon
Ask Expert Tutors