• Du lịch
  • Công nghệ
  • Blog đời sống
  • Học tập
  • Làm đẹp
  • Blog tài chính
  • Review xe
  • Blog
BÀI MỚI NHẤT

Quy trình sản xuất các cuộn xốp hơi bọc hàng phổ bạn cần tham khảo

20 Tháng Ba, 2023

Trải Nghiệm Cuộc Chiến Để Sống Sót Trong Thế Giới Days Bygone

15 Tháng Ba, 2023

Bỏ túi 10 Kinh nghiệm chuyển nhà nhanh gọn tiết kiệm công sức

6 Tháng Ba, 2023

6 Lưu ý cần biết khi tặng quà Tết cho đối tác và khách hàng

2 Tháng Ba, 2023

Ứng dụng của AI trong ngành giao thông vận tải

26 Tháng Hai, 2023
Facebook Twitter Instagram Pinterest
  • Giới Thiệu
  • Chính sách bảo mật
  • Liên Hệ
Facebook Twitter Instagram
Thiện Tâm
  • Du lịch
  • Công nghệ
  • Blog đời sống
  • Học tập
  • Làm đẹp
  • Blog tài chính
  • Review xe
  • Blog
Thiện Tâm
Home»Công nghệ»Một số các thao tác trên danh sách liên kết đơn c++ mà bạn cần lưu ý

Một số các thao tác trên danh sách liên kết đơn c++ mà bạn cần lưu ý

Công nghệ By Thiện Tâm26 Tháng Một, 2021281 Views
Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp Email
Share
Facebook Twitter LinkedIn WhatsApp Pinterest Email

Trong bài ngày hôm nay, mình sẽ giới thiệu cho các bạn về danh sách liên kết đơn và một số thao tác trên danh sách liên kết đơn C++ mà bạn cần lưu ý. Có rất nhiều cách để thực hiện các thao tác trên, bạn không nhất thiết phải làm theo cách của mình nhưng quan trọng là bạn cần nắm vững được kiến thức về con trỏ và các cấp phát động trong C++. 

Đừng quên chia sẻ cho bạn bè và người thân nếu cảm thấy kiến thức bổ ích nhé. 

Table of Contents

  • Một số các thao tác trên danh sách liên kết đơn C++ cơ bản
    • Thêm phần tử vào đầu danh sách:
    • Thêm phần tử vào cuối danh sách
    • Thêm phần tử vào sau một phần tử cho trước
    • Thêm phần tử k vào trước một phần tử p cho trước
    • Xóa phần tử đầu 
  • Danh sách liên kết đơn
  • Các đặc điểm của danh sách liên kết đơn cần phải biết

Một số các thao tác trên danh sách liên kết đơn C++ cơ bản

Thêm phần tử vào đầu danh sách:

– Đầu vào: DSLK đơn l, phần tử p cần thêm 

– Kết quả: DSLK đơn l sau khi thêm 

– Giải thuật: 

* Trường hợp 1: Nếu đơn l rỗng thì con trỏ đầu và cuối của danh sách bằng p 

* Trường hợp 2: (l khác rỗng) 

Bước 1: p trỏ kế tiếp vào đầu danh sách 

Bước 2: Gán con trỏ đầu = p 

– Cài đặt: void ThemDau(LIST &l, NODE *p) { if(l.pHead==NULL) l.pHead=l.pTail=p; else { p->pNext = l.pHead; l.pHead = p; } } 

Minh họa thêm phần tử vào đầu danh sách

các thao tác trên danh sách liên kết đơn c++

Thêm phần tử vào cuối danh sách

– Đầu vào: DSLK đơn l, phần tử p cần thêm 

– Kết quả: DSLK đơn l sau khi thêm 

– Giải thuật: 

* Trường hợp 1: Nếu đơn l rỗng thì con trỏ đầu và cuối của danh sách bằng p 

* Trường hợp 2: (l khác rỗng) 

Bước 1: Con trỏ cuối của danh sách trỏ kế tiếp vào p 

Bước 2: Gán con trỏ cuối = p 

– Cài đặt: void ThemCuoi(LIST &l, NODE *p) { if(l.pHead==NULL) l.pHead=l.pTail=p; else { l.pTail->pNext =p; l.pTail = p; } } 

Minh họa thêm phần tử vào cuối danh sách

các thao tác trên danh sách liên kết đơn c++

Thêm phần tử vào sau một phần tử cho trước

– Đầu vào: DSLK đơn l, phần tử k cần thêm và phần tử p 

– Kết quả: DSLK đơn l sau khi thêm k sau p 

– Giải thuật: 

* Trường hợp 1: Nếu p là con trỏ cuối của danh sách thì Thêm k vào cuối danh sách l 

* Trường hợp 2: là p khác con trỏ cuối 

Bước 1: pSau là con trỏ đứng sau p 

Bước 2: Cho p trỏ tới k 

Bước 3: Cho k trỏ tới pSau 

– Cài đặt: void ThemkSaup(LIST &l, NODE *p, NODE *k) { if(p==l.pTail) ThemCuoi(l, k); else { NODE *pSau = p->pNext; p->pNext = k; k->pNext = pSau; } }

Ảnh minh họa thêm phần tử vào sau một phần tử cho trước

các thao tác trên danh sách liên kết đơn c++

Thêm phần tử k vào trước một phần tử p cho trước

– Đầu vào: DSLK đơn l là phần tử k cần thêm và phần tử p 

– Kết quả: DSLK đơn l là sau khi thêm k ở trước p 

– Giải thuật: 

Bước 1: Thêm k vào sau p 

Bước 2: Hoán vị giá trị của p và k – Cài đặt: void ThemkTruocp(LIST &l, NODE *p, NODE *k) { ThemkSaup(l, p, k); int tam = p->Key; p->Key = k->Key; k->Key = tam; }

Xóa phần tử đầu 

– Đầu vào: DSLK đơn l 

– Kết quả: DSLK đơn l sau khi xóa phần tử đầu 

– Giải thuật: 

* Trường hợp 1: Nếu l rỗng thì kết thúc 

* Trường hợp 2: (l khác rỗng) 

Bước 1: pXoa là con trỏ đầu của danh sách 

Bước 2: Cho con trỏ đầu trỏ vào phần tử kế tiếp 

Bước 3: Xóa pXoa B4: Nếu con trỏ đầu = NULL thì gán con trỏ cuối = NULL

Ảnh minh họa xóa phần tử đầu liên kết

các thao tác trên danh sách liên kết đơn c++

Danh sách liên kết đơn

Danh sách liên kết đơn hay còn gọi là Single Linked List, đây là một cấu trúc dữ liệu động, một danh sách mà mỗi phần tử luôn liên kết với phần tử đứng kế sau nó trong danh sách. 

Mỗi phần tử hay còn gọi là một node hoặc nút trong danh sách liên kết đơn. Đây là một cấu trúc bao gồm hai thành phần chính:

  • Thành phần dữ liệu chuyên lưu thông tin về chính phần tử đó.
  • Thành phần liên kết thì lại chuyên lưu địa chỉ phần tử đứng sau nó trong danh sách, và nếu như phần tử đó đã là phần tử cuối cùng thì thành phần này = NULL.

Nếu phần tử cuối thì thành phần bằng NULL

các thao tác trên danh sách liên kết đơn c++

Các đặc điểm của danh sách liên kết đơn cần phải biết

Khi muốn tìm hiểu thao tác trên danh sách liên kết đơn C++ thì bạn nên nắm được một số đặc điểm cơ bản của danh sách liên kết đơn:

  • Khi chạy chương trình thì sẽ được cấp phát bộ nhớ
  • Thông qua việc thêm hoặc xóa phần tử thì có thể thay đổi được kích thước
  • Bộ nhớ khả dụng của RAM sẽ quyết định kích thước tối đa
  • Các phần tử sẽ được ngẫu nhiên lưu trữ một cách không liên tiếp trong RAM

Dựa vào tính liên kết của phần tử đầu và phần tử đứng sau nó nên có các đặc điểm sau:

  • Để có thể quản lý được danh sách chỉ cần nắm được phần tử đầu và cuối 
  • Đối với phần tử ngẫu nhiên cần phải duyệt từ đầu đến vị trí đó
  • Khi tìm kiếm thì chỉ có thể tìm kiếm tuyến tính một phần tử mà thôi.

Bài viết bên trên chỉ liệt kê một vài thao tác trên danh sách liên kết đơn C++ cơ bản mà bạn cần lưu ý. Nếu bạn muốn biết thêm nhiều thông tin nữa hay theo dõi ở những bài viết trên nhé!

Share. Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp Email

BÀI VIẾT LIÊN QUAN

Ứng dụng của AI trong ngành giao thông vận tải

Top 10 ứng dụng của AI trong ngành giáo dục

Ứng dụng, phát triển trí tuệ nhân tạo AI trong chăm sóc sức khỏe y khoa

Leave A Reply Cancel Reply

BÀI VIẾT GẦN ĐÂY

Quy trình sản xuất các cuộn xốp hơi bọc hàng phổ bạn cần tham khảo

By Thiện Tâm20 Tháng Ba, 2023

Xốp bọc hàng là loại bao bì chuyên dùng để đóng gói các sản phẩm…

Trải Nghiệm Cuộc Chiến Để Sống Sót Trong Thế Giới Days Bygone

15 Tháng Ba, 2023

Bỏ túi 10 Kinh nghiệm chuyển nhà nhanh gọn tiết kiệm công sức

6 Tháng Ba, 2023

6 Lưu ý cần biết khi tặng quà Tết cho đối tác và khách hàng

2 Tháng Ba, 2023

Ứng dụng của AI trong ngành giao thông vận tải

26 Tháng Hai, 2023

Top 10 ứng dụng của AI trong ngành giáo dục

26 Tháng Hai, 2023

Thientam.vn là blog uy tín chia sẻ kinh nghiệm, kiến thức hữu ích về thủ thuật, công nghệ được nhiều bạn quan tâm và theo dõi. Hy vọng bạn có được những kiến thức bổ ích. Hãy để lại những bình luận, nhận xét của bạn để mình có thể cải thiện chất lượng bài viết hơn nữa.

Facebook Twitter Instagram Pinterest TikTok
BÀI VIẾT PHỔ BIẾN

Cách giải bài tập về mô hình IS LM có lời giải dễ hiểu

26 Tháng Một, 202121.400 Views

Người tuổi Tý năm nay bao nhiêu tuổi? Tuổi Tý hợp với tuổi nào?

19 Tháng Ba, 202117.816 Views

Vé tháng xe bus liên tuyến đi được những xe nào tại Hà Nội?

27 Tháng Một, 202116.602 Views
Chuyên Mục
  • Blog (54)
  • Blog đời sống (69)
  • Blog tài chính (23)
  • Công nghệ (32)
  • Du lịch (17)
  • Giải trí (3)
  • Học tập (13)
  • Làm đẹp (8)
  • Review xe (14)
  • Tổng Hợp (1)
© 2021 thientam.vn - Thiết kế và phát triển bởi Thiện tâm
  • Giới Thiệu
  • Chính sách bảo mật
  • Liên Hệ

Type above and press Enter to search. Press Esc to cancel.