Trong hướng dẫn này, chúng ta sẽ khám phá cách tìm kiếm và sắp xếp trong danh sách liên kết đơn. Hai thuật toán quan trọng này không thể thiếu trong lập trình, vì vậy hãy cùng tìm hiểu và nắm vững nhé!
1. Tìm kiếm trong danh sách liên kết đơn
Trong phần này, chúng ta sẽ tìm kiếm một giá trị index nhập từ bàn phím trong danh sách liên kết đơn. Đây là một thao tác đơn giản, chỉ cần duyệt từng phần tử trong danh sách.
Giả sử chúng ta cần tìm giá trị index = 5 trong danh sách. Ta sẽ khai báo một Node tạm pTmp để duyệt danh sách.
Tiếp theo, sử dụng vòng lặp while để duyệt từng phần tử trong danh sách với điều kiện pTmp != Null. Nếu pTmp -> data == index, ta thoát khỏi vòng lặp và thông báo rằng đã tìm thấy. Nếu không, ta thông báo rằng không tìm thấy.
2. Sắp xếp trong danh sách liên kết đơn
Trong phần sắp xếp phần tử trong danh sách liên kết đơn, chúng ta sẽ thay đổi giá trị data để sắp xếp, không thay đổi Node. Điều này đồng nghĩa với việc chỉ so sánh các giá trị data và hoán đổi các vị trí.
Thao tác sắp xếp trong danh sách khá giống với các thuật toán sắp xếp khác. Chỉ cần duyệt từng phần tử và so sánh chúng, sau đó hoán đổi vị trí nếu cần.
Đầu tiên, sử dụng một vòng lặp for để lặp từng phần tử trong danh sách, và vòng lặp for thứ hai để lặp lại việc so sánh các phần tử.
Nếu pTmp1 > pTmp2, ta hoán đổi vị trí của chúng. Nếu pTmp1 pTmp2, ta tiếp tục so sánh các phần tử tiếp theo. Tiếp tục như vậy cho đến khi duyệt hết danh sách.
3. Ví dụ tìm kiếm và sắp xếp trong danh sách liên kết đơn
Trong ví dụ này, chúng ta sẽ sử dụng dữ liệu từ ví dụ trước để áp dụng cho việc tìm kiếm và sắp xếp. Để thực hiện các thao tác, luôn luôn khai báo cấu trúc dữ liệu của danh sách liên kết đơn trước.
Kết quả:
Như vậy, chúng ta đã hoàn thành chương trình tìm kiếm và sắp xếp các phần tử trong danh sách liên kết đơn. Hy vọng rằng hướng dẫn này đã giúp các bạn thành công trong quá trình thực hiện!