of x

Sự tự tham chi ếu của cấu trúc trong C

Đăng ngày | Thể loại: | Lần tải: 0 | Lần xem: 0 | Page: 30 | FileSize: 0.11 M | File type: PPT
0 lần xem

Sự tự tham chi ếu của cấu trúc trong C. List là 1 cấu trúc dữ liệu mà nó lưu giữ thông tin tổng quát về vị trí của phần tử tiếp theo. Các phần tử của “single linked list ” chỉ có vị trí tiếp theo. Trong C con trỏ được sử dụng để trỏ tới phần tử tiếp theo. Array(mảng): ta có thể truy nhập ở bất kì vị trí nào trong mảng ngay lập tức. Linked list: ta có thể thay đổi số phần tử dữ liệu của nó.. Giống những giáo án bài giảng khác được thành viên giới thiệu hoặc do tìm kiếm lại và giới thiệu lại cho các bạn với mục đích học tập , chúng tôi không thu phí từ người dùng ,nếu phát hiện nội dung phi phạm bản quyền hoặc vi phạm pháp luật xin thông báo cho website ,Ngoài giáo án bài giảng này, bạn có thể download đồ án thạc sĩ tiến sĩ phục vụ tham khảo Một số tài liệu tải về thiếu font chữ không hiển thị đúng, nguyên nhân máy tính bạn không hỗ trợ font củ, bạn tải các font .vntime củ về cài sẽ xem được.

https://tailieumienphi.vn/doc/su-tu-tham-chi-eu-cua-cau-truc-trong-c-qdg2tq.html

Nội dung

tailieumienphi.vn xin giới thiệu đến bạn đọc thư viện Sự tự tham chi ếu của cấu trúc trong C.Để chia sẽ thêm cho các thành viên nguồn tài liệu Công Nghệ Thông Tin,Quản trị Web mang đến cho mình.Trân trọng kính mời thành viên đang cần cùng xem ,Tài liệu Sự tự tham chi ếu của cấu trúc trong C trong thể loại ,Công Nghệ Thông Tin,Quản trị Web được chia sẽ bởi user quantriweb đến học sinh/sinh viên nhằm mục đích tham khảo , tài liệu này đã đưa vào danh mục Công Nghệ Thông Tin,Quản trị Web , có tổng cộng 30 trang , thuộc thể loại .PPT, cùng chuyên mục còn có cấu trúc dữ liệu, thuật toán, bài giảng cấu trúc dữ liệu, tài liệu cấu trúc dữ liệu, giáo trình cấu trúc dữ liệu, thuật toán trong cấu trúc dữ liệu ,bạn có thể download miễn phí , hãy giới thiệu cho mọi người cùng tham khảo . Để download file về, các bạn click chuột nút download bên dưới
List là 1 cấu trúc dữ liệu mà nó lưu giữ thông tin , nói thêm là tổng quát về vị trí của phần tử tiếp theo, tiếp theo là , nói thêm Các phần tử của “single linked list ” chỉ có vị trí , cho biết thêm tiếp theo, tiếp theo là , ngoài ra Trong C con trỏ được sử dụng để trỏ đến phần tử , nói thêm tiếp theo, tiếp theo là , nói thêm là Array(mảng): ta có thể truy vấn nhập ở bất kì vị trí , kế tiếp là nào trong mảng ngay lập tức, cho biết thêm , bên cạnh đó Linked list: ta có thể đổi thay số phần tử dữ liệu , nói thêm của nó, nói thêm là Chủ đề Sự tự tham chiếu của cấu trúc trong C, tiếp theo là , nói thêm là  Cấu trúc dữ liệu danh sách liên kết, bên cạnh đó đơn (single linked list), danh sách liên, bên cạnh đó kết đôi (double linked list):, bên cạnh đó -Khởi tạo, thi hành, nói thêm là -Thuật toán quét dữ liệu, ngoài ra -Thuật toán chèn, xoá, nói thêm Sự tự tham chiếu của cấu trúc 1 hoặc đa dạng thành phần của nó là con trỏ đến chính, nói thêm  nó, tiếp theo là struct list { char data; struct list *link;, kế tiếp là }; list item1, item2, item3; a b c item1, cho biết thêm data=‘a’; item2, ngoài ra data=‘b’; item3, tiếp theo là data=‘c’; item1, bên cạnh đó link=item2, thêm nữa link=item3, bên cạnh đó lik=NULL;,còn cho biết thêm Thi hành list trong C là 1 cấu trúc dữ liệu mà nó lưu giữ thông tin, bên cạnh đó  List tổng quát về vị trí của phần tử tiếp theo, kế tiếp là  Cá
  1. Chủ đề Sự tự tham chiếu của cấu trúc trong C   Cấu trúc dữ liệu danh sách liên kết đơn (single linked list), danh sách liên kết đôi (double linked list): -Khởi tạo, thi hành. -Thuật toán quét dữ liệu -Thuật toán chèn, xoá.
  2. Sự tự tham chiếu của cấu trúc 1 hoặc nhiều thành phần của nó là con trỏ tới chính  nó. struct list { char data; struct list *link; }; list item1, item2, item3; a b c item1.data=‘a’; item2.data=‘b’; item3.data=‘c’; item1.link=item2.link=item3.lik=NULL;
  3. Thi hành list trong C là 1 cấu trúc dữ liệu mà nó lưu giữ thông tin  List tổng quát về vị trí của phần tử tiếp theo.  Các phần tử của “single linked list ” chỉ có vị trí tiếp theo  Trong C con trỏ được sử dụng để trỏ tới phần tử tiếp theo.  Array(mảng): ta có thể truy nhập ở bất kì vị trí nào trong mảng ngay lập tức.  Linked list: ta có thể thay đổi số phần tử dữ liệu của nó.
  4. Khai báo linked list typedef ... elementtype;//kiểu dữ liệu phần tử typedef struct node{ elementtype element; node* next; }; node* root; node* cur; Hoặc: typedef ... elementtype; struct node{ elementtype element; struct node* next; }; struct node* root; struct node* cur;
  5. Cấp phát bộ nhớ cho 1 phần tử cần cấp phát 1 khối bộ nhớ cho mỗi  Ta node(phần tử) qua 1 con trỏ. struct node * new; new = (struct node*) malloc(sizeof(structnode)); new->element = … new->next = null; • new->addr có nghĩa là (*new).addr. • “con trỏ biến cho bản ghi cấu trúc” ->”tên trường (field)”
  6. Exercise 3.1 thiết kế “address list”(danh sách địa  Ta chỉ) cho các số điện thoại di động .  Phải tạo 1 bản ghi cấu trúc gồm có name, phone number và email address.  Phải tạo 1 chương trình có thể giải quyết với số lượng dữ liệu tuỳ ý.
  7. Exercise 3.1 (tiếp)  Tạo 1 danh sách liên kết đơn chứa danh sách phone address.  Viết 1 hàm insert 1 phần tử vào list ngay sau phần tử hiện thời, sử dụng nó để thêm node vào list  Viết 1 hàm duyệt toàn bộ list và in ra thông tin chứa trong nó.  Viết hàm xoá 1 node khỏi list.
  8. Gợi ý  Bạn có thể tổ chức các phần tử và cấu trúc dữ liệu theo bản ghi cấu trúc AddressList sau.Bạn tự định nghĩa 1 cấu trúc (Address) để chứ thông tin về địa chỉ. struct AddressList { struct AddressList *next; struct Address addr; };
  9. Khai báo bản ghi cấu trúc struct AddressList { struct AddressList *next; struct Address addr; }; biến con trỏ trỏ tới phần tử tiếp  “next”: theo cũng có cùng cấu trúc AddressList.  “addr”: là 1 địa chỉ
  10. 3 thừa số quan trọng của 1 list đầu của list  Root:  NULL:giá trị của con trỏ.nó báo hiệu kết thúc của list.  Cur: biến con trỏ lưu giữ phần tử hiện tại. Cur Root (head) NULL
  11. Link list : Insertion (chèn) ngay sau vị trí hiện tại:  Chèn create new_item //phần tử mới cur->next = new; cur = cur->next; Cur … root New_item
  12. Link list : Insertion Chèn ngay sau vị trí hiện tại  new = ( struct AddressList * ) malloc( sizeof(struct AddressList ) ); new->addr = addr; new->next = NULL; if ( root == NULL ) { /* nếu không có phần tử nào */ root = new; cur = root; } else { cur->next = new; cur = cur->next; } }
  13. Link list : Insertion vào trước vị trí hiện tại:  Chèn cur prev … root New_item
  14. Duyệt 1 list  for ( cur = root; cur != NULL; cur = cur- >next ) { showAddress( cur->addr, stdout ); } //showAddress là hàm in ra dữ liệu (tự viết)
  15. Duyệt 1 list đổi giá trị của biến con trỏ cur trong  Thay dãy  Các biến này được gọi là “biến lặp”  Hoàn thành duyệt khi giá trị cur = NULL
  16. Deletion (xoá) xoá phần tử đầu tiên:  Khi del=root; root = del->next; free(del);  Khi xoá phần tử đầu tiên, ta chuyển con trỏ root tới vị trí next được chỉ ra bởi del.
  17. Xoá phần tử ở giữa node đang được trỏ bởi cur.  Xoá  Xác định prev là con trỏ tới node ngay trước node cần xoá.  Sau đó thực hiện: prev->next = cur->next; free(cur);
  18. Exercise 3.2  Tạo hàm insert, delete với tham số n (nguyên) chỉ ra vị trí của node bị tác động đến. Vị trí đầu tiên là 0 - n = 1: thêm phần tử vào sau phần tử đầu tiên. - n = 2: thêm phần tử vào sau phần tử thứ 2. - struct AddressList *insert (struct AddressList *root, struct Address ad, int n); struct AddressList *delete(struct AddressList *root, int n);
  19. Giải phóng list to_free = root ;//to_free là biến lặp lưu vị trí node ta giải phóng while (to_free != NULL) { root = root->next; free(to_free); to_free = root; }
  20. Exercise 3.3 dựng 1 chương trình quản lí sinh viên đơn  Xây giản sử dụng linked list gồm node có cấu trúc như sau: typedef struct Student_t { char id[ID_LENGTH]; char name[NAME_LENGTH]; int grade; struct Student_t *next; } Student;
685788

Sponsor Documents


Tài liệu liên quan


Xem thêm