Duyệt một danh sách lμ thao tác truy cập đến tất cả các phần tử của danh sách để thực hiện một xử lí nμo đó sao cho đảm bảo không sót vμ không lặp. Không sót nghĩa lμ mọi phần tử đều đ−ợc xử lí, không lặp nghĩa lμ không phần tử nμo bị xử lí quá một lần. Phép duyệt có thể thực hiện nhờ một vòng lặp For For i:= 1 to do " xử lí [i]" ; Ví dụ Thay toμn bộ tên bằng chữ in hoa For i:= 1 to do [i]:= upper([i]);. | Lập trình bằng Turbo Pascal Duyệt danh sách. Duyệt một danh sách là thao tác truy cập đến tất cả các phần tử của danh sách để thực hiện một xử lí nào đó sao cho đảm bảo không sót và không lặp. Không sót nghĩa là mọi phần tử đều đuợc xử lí không lặp nghĩa là không phần tử nào bị xử lí quá một lần. Phép duyệt có thể thực hiện nhờ một vòng lặp For For i 1 to do xử lí i Ví dụ Thay toàn bộ tên bằng chữ in hoa For i 1 to do i upper i Tìm kiếm Tìm kiếm một phần tử trong danh sách là nhằm phát hiện phần tử có chứa một thành phần dữ liệu trùng khớp với mẫu đã cho. Mâu này thường được gọi là khóa tìm kiếm. Tuỳ theo danh sách có được sắp xếp thứ tự theo khoá đã cho hay không mà có các cách tìm kiếm khác nhau. Tìm kiếm tuần tự - Sequential Searching Khi danh sách chưa được sắp xếp thì cách duy nhất để thực hiện tìm kiếm là duyệt từ đầu cho đến khi tìm thấy hoặc phát hiện không có. Tìm kiếm nhị phân - Binary Searching Khi danh sách đã được sắp xếp đúng thứ tự theo khoá cần tìm thì có thể tiến hành tìm kiếm theo cách chia đôi dần. Đây là thủ tục tìm kiếm nhị phân đã xét đến trong phần thủ tục đệ quy. Thêm phần tử. - Hoặc nối vào cuối khi đó danh sách không được sắp theo thứ tự. Thực hiện đơn giản nhưng sẽ phải chi phí nhiều khi tìm kiếm. - Hoặc chèn đúng chỗ theo cách này buộc phải tìm đúng vị trí và sau đó dịch chuyển cả phần đuôi. Thực hiện phức tạp hơn nhưng bù lại khi tìm kiếm sẽ nhanh hơn. Gỡ bỏ phần tử - Tìm đến phần tử cần gỡ bỏ và huỷ phần tử này bằng cách chép dồn lên Các ưu nhược điểm. Danh sách thể hiện bằng cấu trúc mảng có các ưu nhược điểm sau. Nguyễn Đình Hoá Viện CNTT - ĐHQG Hà nội 189 Lập trình bằng Turbo Pascal - Đơn giản có thể cài đặt đễ dàng bằng kiểu mảng đã quen biết. - Bất tiên khi thuờng xuyên có thao tác thêm bớt phần tử ở giữa danh sách. Ví dụ minh hoạ Để thấy đuợc các ưu nhuợc điểm của danh sách mảng hãy cải tiến chương trình quản lí hổ sơ của sinh viên đã phát triển trong chương 3.