0

cấu trúc nhóm cacbonyl gt c o

Cấu trúc dữ liệu trong C  ++ - Chương 1

Cấu trúc dữ liệu trong C ++ - Chương 1

Kỹ thuật lập trình

... CTDL kh c 1.5.2 C c nguyên t c Trư c th c lớp CTDL n o, c n chắn đònh nghóa CTDL đ c tả t c vụ cho c ch thật đầy đủ C b o đảm rằng: • Chúng ta hiểu c ch x c • Trong th c quay lại sửa đổi đ c ... th c cho lớp CTDL Chúng ta nên nhớ rằng, c nhiều c ch th c kh c cho đ c tả lớp CTDL Về mặt hiệu quả, c phương án gần giống nhau, c phương án kh c xa Điều phụ thu c nhiều v o c ch tổ ch c liệu ... Bư c giống bư c thứ trên, lớp CTDL, lớp kh c, cung c p cho đối tượng để hoạt động chương trình Và vậy, nhiệm vụ mà giao cho c ch rõ ràng x cc sau Đ c tả đầy đủ c ch th c giao tiếp lớp CTDL...
  • 16
  • 633
  • 7
Cấu trúc dữ liệu trong C  ++ - Chương 2

Cấu trúc dữ liệu trong C ++ - Chương 2

Kỹ thuật lập trình

... Stack(); bool empty() const; ErrorCode push(const Entry &item); ErrorCode pop(); ErrorCode top(Entry &item) const; protected: Node *top_node; }; Do lớp Stack chứa phần tử liệu, cho vi c ... &item) const; Gi o trình C u tr c liệu Giải thuật 34 Chương – Ngăn xếp C c đ c tả đảm b o tính an toàn cho c u tr c liên kết: ~Stack(); Stack(const Stack &original); void operator =(const ... th c copy constructor để c ngữ nghóa trò Đối với lớp, khai b o chuẩn cho copy constructor giống khai b o constructor c thêm thông số tham chiếu đến đối tượng lớp: Stack::Stack ( const...
  • 20
  • 509
  • 2
Cấu trúc dữ liệu trong C  ++ - Chương 3

Cấu trúc dữ liệu trong C ++ - Chương 3

Kỹ thuật lập trình

... tra CTDL Queue template class Queue { public: Queue(); bool empty() const; ErrorCode serve(); ErrorCode append(const Entry &item); ErrorCode retrieve(Entry &item) const; protected: ... c u tr c liệu trừu tượng hàng, đ c tả t c vụ mà hàng th c C c đ c tả tương tự đ c tả cho ngăn xếp, đưa tên, kiểu trả về, danh sách thông số, precondition, postcondition uses cho phương th c Entry ... khai b o node tương tự làm cho ngăn xếp liên kết chương Chúng ta c đ c tả đây: template class Queue { public: // C c phương th c chuẩn hàng Queue(); bool empty() const; ErrorCode...
  • 14
  • 528
  • 4
Cấu trúc dữ liệu trong C  ++ - Chương 4

Cấu trúc dữ liệu trong C ++ - Chương 4

Kỹ thuật lập trình

... full() const; bool empty() const; void clear(); void traverse(void (*visit)(Entry &)); Error_code retrieve(int position, Entry &x) const; Error_code replace(int position, const Entry &x); Error_code ... *back; // constructors Node(); Node(Node_entry, Node *link_back = NULL, Node *link_next = NULL); }; Constructor cho Node danh sách liên kết kép gần giống constructor cho ... tử position */ { if (current_position next; else for ( ; current_position != position; current_position...
  • 24
  • 617
  • 3
Cấu trúc dữ liệu trong C  ++ - Chương 6

Cấu trúc dữ liệu trong C ++ - Chương 6

Kỹ thuật lập trình

... sang C- string protected: char *entries; int length; }; Gi o trình C u tr c liệu Giải thuật 78 Chương – Chuỗi ký tự bool bool bool bool bool bool operator operator operator operator operator operator ... (const char * copy); String (List ©); // // // copy constructor Chuyển đổi từ C- string Chuyển đổi từ List ký tự void operator =(const String ©); const char *c_ str() const; // Chuyển ... add_on .c_ str(); char *copy = new char[strlen(cfirst) + strlen(csecond) + 1]; strcpy(copy, cfirst); strcat(copy, csecond); add_to = copy; delete []copy; } Trong phương th c có gọi strcat với hai thông số char*...
  • 16
  • 953
  • 7
Cấu trúc dữ liệu trong C  ++ - Chương 7

Cấu trúc dữ liệu trong C ++ - Chương 7

Kỹ thuật lập trình

... insert(int col); pre: Ô hàng count c t col không bò nhìn thấy hậu post: Một hậu vừa đặt v o ô hàng count c t col, count tăng thêm void remove(int col); pre: Ô hàng count-1 c t col c hậu post: Con hậu ... ch o upward c tổng hàng c t ô hằngsố Tổng cho đường ch o upward c chiều dài g c trái mảng, cho đến(2xboard_size–2) cho đường ch o upward c chiều dài g c phải mảng Do đánh số cho đường ch o ... lựa c đònh nghóa cho lớp Queens sau: class Queens { public: Queens(int size); bool is_solved() const; void print() const; bool unguarded(int col) const; void insert(int col); void remove(int col);...
  • 46
  • 556
  • 6
Cấu trúc dữ liệu trong C  ++ - Chương  8

Cấu trúc dữ liệu trong C ++ - Chương 8

Kỹ thuật lập trình

... Key class Key{ public: // C c constructor phương th c private: // C c thu c tính Key }; // Khai b o t c vụ so sánh cho khoá bool operator ==(const Key &x, const bool operator > (const Key &x, const ... > (const Key &x, const bool operator < (const Key &x, const bool operator >=(const Key &x, const bool operator
  • 12
  • 477
  • 2
Cấu trúc dữ liệu trong C  ++ - Chương  9

Cấu trúc dữ liệu trong C ++ - Chương 9

Kỹ thuật lập trình

... số th c hàng ưu tiên chương 11 dựa khái niệm heap Đó c u tr c tương tự c u tr c c p b c tổ ch c Chúng ta thường biểu diễn c u tr c tổ ch c công ty c u tr c Khi giám đ c công ty nghỉ vi c hai ... chiều dài khóa nhỏ position Đònh nghóa Record sau: Gi o trình C u tr c liệu Giải thuật 179 Chương – Sắp xếp class Record { public: char key_letter(int position) const; Record(); // constructor ... sách trong danh sách liên t c vi c tìm kiếm th c theo chiều ngư c lại // Dành cho danh sách liên kết chương template void Sortable_list::insertion_sort() /* post: C c phần...
  • 34
  • 502
  • 4
Cấu trúc dữ liệu trong C  ++ - Chương 10

Cấu trúc dữ liệu trong C ++ - Chương 10

Kỹ thuật lập trình

... AVL, c n bổ sung đ c tả node nhö sau: template struct AVL_node: public Binary_node { Balance_factor balance; // constructors: AVL_node(); AVL_node(const Record &x); // Ca c ... class AVL_tree: public Search_tree { public: Error_code insert(const Record &new_data); Error_code remove(const Record &old_data); private: // C c hàm phụ trợ }; Thu c ... làm sở cho lớp nhò phân tìm kiếm template class Search_tree: public Binary_tree { public: Error_code insert(const Record &new_data); Error_code remove(const Record &old_data);...
  • 54
  • 514
  • 2
Cấu trúc dữ liệu trong C  ++ - Chương 11

Cấu trúc dữ liệu trong C ++ - Chương 11

Kỹ thuật lập trình

... Error_code result; result = recursive_remove(root, target); if (root != NULL && root->count == 0) { // C y giảm chiều cao B_node *old_root = root; root = root->branch[0]; delete old_root; ... RB_node() { color = red; left = right = NULL; } void set_color(Color c) { color = c; } Color get_color() const { return color; } }; Để thuận tiện, sử dụng đònh nghóa dòng (inline definition) cho ... thêm thu c tính màu v o nút đỏ ñen: enum Color {red, black}; template struct RB_node: public Binary_node { Color color; RB_node(const Record &new_entry) { color = red;...
  • 46
  • 566
  • 2
Cấu trúc dữ liệu trong C  ++ - Chương 12

Cấu trúc dữ liệu trong C ++ - Chương 12

Kỹ thuật lập trình

... Kh c với th c hàng ưu tiên mà xem xét, hàng nhò th c có trật tự heap, mà rừng c trật tự heap, không phép c hai c chiều cao Theo quy ư c, c chiều cao c nút; c chiều cao k c c ch nối chiều ... lấp chỗ trống heap[current_position] = parent Cho current_position vò trí parent endloop heap[current_position] = item // C p nhật lại kích thư c heap return success endif } Gi o trình C u tr c ... nhò th c có chiều cao (hình 11.18), c n nối hai thành lại, mà c chiều cao lớn so với c Vi c chèn v o đầu danh sách liên kết thuận tiện hơn, cho danh sách c thứ tự giảm dần theo chiều cao (hình...
  • 22
  • 441
  • 3
Cấu trúc dữ liệu trong C  ++ - Chương 13

Cấu trúc dữ liệu trong C ++ - Chương 13

Kỹ thuật lập trình

... key_letter(int position) const; void make_blank(); // C c constructor phương th c kh c }; Để giảm c ng s c lập trình th c lớp, chọn c ch thừa kế phương th c lớp String chương Chúng ta đỡ phải viết lại t c ... insert(const Record &new_entry); Error_code retrieve(const Key &target, Record &found) const; private: Record table[hash_size]; }; Bảng băm khởi t o cho tất phần tử mảng chứa khóa đ c biệt gồm khoảng ... th c liên kết tổng quát danh sách h c chương Để quán, phương th c bảng băm nối kết chứa phương th c th c bảng băm trư c Constructor bảng băm đơn giản gọi constructor cho danh sách mảng Trong...
  • 34
  • 393
  • 4
Cấu trúc dữ liệu trong C  ++ - Chương  14

Cấu trúc dữ liệu trong C ++ - Chương 14

Kỹ thuật lập trình

... = 0; v < count; v++) if (predecessor_count[v] == 0) ready_to_process.append(v); while (!ready_to_process.empty()) { ready_to_process.retrieve(v); topological_order.insert(topological_order.size(), ... không c u tr c liệu, sử dụng chúng để đ c tả vấn đề toán h c, để viết giải thuật, th c đồ thò c u tr c liệu danh sách bảng Tuy vậy, rõ ràng đồ thò tự thân xem c u tr c liệu - c u tr c liệu mà c chứa ... theo chiều rộng uses: C c phương th c lớp List, Queue */ { topological_order.clear(); Vertex v, w; int predecessor_count[graph_size]; for (v = 0; v < count; v++) predecessor_count[v] = 0; for...
  • 26
  • 468
  • 1
Cấu trúc dữ liệu trong C  ++ - Chương 15

Cấu trúc dữ liệu trong C ++ - Chương 15

Kỹ thuật lập trình

... command; bool waiting = true; cout > command; command = tolower(command); if (command == '?' || command == '=' || command == '+' || command ... OR (next_node coù ‘B’)) endif endif current_node = next_node endloop if (!fail) print(“The path to your goal is:”) print(current_node) // goal loop (!nodes.empty()) nodes.top(current_node) nodes.pop() ... arithmetic operations"
  • 12
  • 549
  • 4
Cấu trúc dữ liệu trong C  ++ - Chương 16

Cấu trúc dữ liệu trong C ++ - Chương 16

Kỹ thuật lập trình

... tính toán số h c cho đa th c người sử dụng nhập v o uses: C c lớp Stack, Polynomial hàm introduction, instructions, do_command, get_command */ { Stack stored_polynomials; introduction(); ... print() const; void equals_sum(Polynomial p, Polynomial q); void equals_difference(Polynomial p, Polynomial q); void equals_product(Polynomial p, Polynomial q); Error_code equals_quotient(Polynomial ... equals_sum(Polynomial p, Polynomial q); void equals_difference(Polynomial p, Polynomial q); void equals_product(Polynomial p, Polynomial q); ErrorCode equals_quotient(Polynomial p, Polynomial q);...
  • 10
  • 635
  • 4
Cấu trúc dữ liệu trong C  ++ - Chương 17

Cấu trúc dữ liệu trong C ++ - Chương 17

Kỹ thuật lập trình

... ifstream *infile; ofstream *outfile; char user_command; // C c hàm phụ trợ Error_code next_line(); Error_code previous_line(); Error_code goto_line(); Error_code insert_line(); Error_code substitute_line(); ... yêu c u nhập chuỗi ký tự để thay Cuối loạt t c vụ String CString th c để loại chuỗi ký tự c chuỗi ký tự v o Error_code Editor::change_line() /* pre: Editor chứa văn post: Nếu chuỗi ký tự yêu c u ... thường bool Editor::get_command() /* post: Gán trò cho thu c tính user_command; trả true trừ người sử dụng gõ ‘q’ uses: Hàm tolower thư vieän C */ { if (current != NULL) cout
  • 8
  • 630
  • 5
Cấu trúc dữ liệu trong C  ++ - Chương  18

Cấu trúc dữ liệu trong C ++ - Chương 18

Kỹ thuật lập trình

... DSLK mảng liên t c có kèm chút c i tiến cho toán Chúng ta xem xét vài c ch tổ ch c liệu theo hướng làm tăng t c độ chương trình nhanh tốt Chúng ta sử dụng danh sách để chứa số c n hoán vò Mỗi lần ... permutation[0] = 0; permute(1, degree, permutation); } } Danh sách permutation làm thông số cho hàm process_permutation chứa c ch nối kết phần tử hoán vò, in số nguyên c ch hoán vò sau: void process_permutation(int ... Gi o trình C u tr c liệu Giải thuật 397 Chương 17 – Ứng dụng sinh hoán vò biệt thứ tự chúng danh sách, kh c cách nối tham chiếu) Cuối tham chiếu c n lưu mảng (hình hình 17.2) Node dùng để chứa...
  • 6
  • 391
  • 2
Cấu trúc dữ liệu trong C  ++ - Chương 19

Cấu trúc dữ liệu trong C ++ - Chương 19

Kỹ thuật lập trình

... is_living->insert(new_cell); if (outcome != success) cout
  • 16
  • 507
  • 1
Chương 2 Các cấu trúc điều khiển trong C++

Chương 2 Các cấu trúc điều khiển trong C++

Kỹ thuật lập trình

... biến biểu th c điều kiện c kiểu Ng c lại, với c u tr c chọn, lựa chọn trờng hợp biến nguyên Do vậy, vi c chuyển đổi từ c u tr c chọn sang c u tr c rÏ nh¸nh bao giê c ng th c hiƯn đ c cách dễ dàng, ... case 9: case 11: cout
  • 13
  • 636
  • 4

Xem thêm