1. Trang chủ
  2. » Thể loại khác

B3-LinkedList pptx

24 149 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Bài 3. DANH SÁCH LIÊN KẾT ĐƠN (LINKED LIST)

  • MỤC TIÊU

  • NỘI DUNG

  • I/ Định nghĩa

  • II/ Cài đặt danh sách liên kết đơn

  • Slide 7

  • Slide 8

  • Slide 9

  • Thêm một nút vào danh sách ( có 3 trường hợp)

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • + Trường hợp 3: xóa nút ở cuối danh sách (xóa sau phần tử p)

  • Slide 17

  • Đảo ngược danh sách liên kết

  • Tách 1 danh sách ra thành 2 danh sách

  • Hình ảnh mô tả cho đoạn code trên:

  • Gộp 2 danh sách thành 1 danh sách

  • Slide 22

  • Slide 23

  • Slide 24

Nội dung

Câu hỏi kiểm tra Trình bày cách khai báo hàng đợi (queue)? Trả lời typedef struct { int front,rear; int nodes[MAXSIZE]; } queue; Bi 3. DANH SÁCH LIÊN KẾT ĐƠN (LINKED LIST) CBGD: Trần Việt Khánh MỤC TIÊU • Sau bi học ny, sinh viên có khả năng:  Trình by được định nghĩa danh sách liên kết đơn  Ci đặt được danh sách liên kết đơn  Vận dụng danh sách liên kết đơn vo công tác quản lý (quản lý sinh viên, quản lý tuyến xe lửa, ) NỘI DUNG I/ Định nghĩa II/ Ci đặt danh sách liên kết đơn 1. Khai báo cấu trúc của một nút trong danh sách liên kết đơn 2. Các tác vụ trên danh sách liên kết đơn I/ Định nghĩa Danh sách liên kết đơn là một danh sách bao gồm nhiều nút liên kết với nhau, mỗi nút là một cấu trúc có hai trường: - Trường info chứa nội dung thật sự của nút. - Trường next là con trỏ cấu trúc chỉ nút kế tiếp trong danh sách. l  Hình vẽ minh họa danh sách liên kết đơn NULL Khai báo mỗi nút là một mẫu tin có hai trường là info và next. - Trường info: chứa nội dung của nút. - Trường next: là con trỏ chỉ nút kế tiếp trong danh sách II/ Cài đặt danh sách liên kết đơn 1. Khai báo cấu trúc một nút // Khai báo cấu trúc của một nút typedef struct node { node *next; int info; } node; // Khai báo kiểu con trỏ chỉ đến nút typedef struct node *list; • Khởi tạo danh sách rỗng void CreateList(list &l) { l=NULL; } 2. Các tác vụ trên danh sách liên kết đơn l  NULL • Kiểm tra danh sách có bị rỗng không bool EmptyList(list l) { return ( l == NULL); } Minh họa đoạn code trên: l  NULL 1 2 3 4 giả sử nút cần tìm là x =3 Tìm kiếm phần tử x trong danh sách list SearchList(list l, int x) { list p; p=l; while (p!=NULL && p->info!=x) p=p->next; return p; } • Tìm vị trí của nút trước nút cần xóa hoặc thêm trong danh sách list SearchPrevousNode(list l, int x) { list p,c; bool stop=false; p=NULL; c=l; while( c!=NULL && !stop) { if(c->info != x) { p=c; c= c->next; } else stop=true; } return p; } l  1 2 3 4 NULL Minh họa đoạn code trên: giả sử nút cần xóa x = 4 X • Thêm một nút vo danh sách ( có 3 trường hợp) + Trường hợp 1: thêm một nút vào đầu danh sách (p==NULL) NULL l  Nút newp newp->next = l; l = newp; Đây là đoạn code của trường hợp trên if(p==NULL)// chèn nút newp ở đầu danh sách { newp->next=l; l = newp; }

Ngày đăng: 13/07/2014, 20:20

Xem thêm

TỪ KHÓA LIÊN QUAN

w