1. Trang chủ
  2. » Công Nghệ Thông Tin

Duyệt danh sách liên kết Cấu trúc dữ liệu và giải thuật NEU

1 8 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Duyệt Danh Sách Liên Kết
Trường học National Economics University
Chuyên ngành Data Structures and Algorithms
Thể loại Essay
Định dạng
Số trang 1
Dung lượng 7,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dạng bài tập số 3: dựa trên cơ sở thuật toán duyệt danh sách liên kết đơn sau đây: Procedure Linked Traverse (L: PointerType); Var CurrPtr: PointerType; Begin CurrPtr:=L; {truy nhập đến nút đầu của danh sách} While CurrPtr 0 do {vòng lặp duyệt danh sách} Begin Write(NodeCurrPtr.Data); {in ra dữ liệu nút hiện thời} CurrPtr:= NodeCurrPtr.Next {chuyển sang nút tiếp theo} End; end; Thủ tục xử lý danh sách cũng là các thuật toán xử lý cơ bản như: tính tổng, trung bình, tìm max, min. ⇒ Vẫn tuân thủ theo đúng nguyên tắc là thay thế lệnh xử lý dữ liệu của nút hiện thời bằng lệnh xử lý đặc trưng của thuật toán. ⇒ Trong bài kiểm tra các em phải thực hiện việc duyệt danh sách 2 lần, 1 lần để tính giá trị trung bình, lần 2 để đếm số nút có giá trị lớn hơn trung bình Procedure Linked Traverse(L: PointerType); Var CurrPtr: Pointer Type; Tong, dem, tb, soluong: real; Begin CurrPtr:=L; {truy nhập đến nút đầu của danh sách} While CurrPtr 0 do {vòng lặp duyệt danh sách} Begin Tong:=tong+NodeCurrPtr.Data; {xử lý dữ liệu nút hiện thời} Dem:=dem+1; CurrPtr:= NodeCurrPtr.Next {chuyển sang nút tiếp theo} End; Tb:=tongdem; {đếm số lượng lớn hơn tb} CurrPtr:=L; {truy nhập đến nút đầu của danh sách} While CurrPtr 0 do {vòng lặp duyệt danh sách} Begin IF NodeCurrPtr.Data>TB THEN soluong:=soluong+1; CurrPtr:= NodeCurrPtr.Next {chuyển sang nút tiếp theo} End; Write(soluong); {in ra kết quả} END;

Trang 1

Dạng bài tập số 3: dựa trên cơ sở thuật toán duyệt danh sách liên kết đơn sau đây:

Procedure Linked Traverse (L: PointerType);

Var

CurrPtr: PointerType;

Begin

CurrPtr:=L; {truy nhập đến nút đầu của danh sách}

While CurrPtr <> 0 do {vòng lặp duyệt danh sách}

Begin

Write(Node[CurrPtr].Data); {in ra dữ liệu nút hiện thời}

CurrPtr:= Node[CurrPtr].Next {chuyển sang nút tiếp theo}

End;

end;

Thủ tục xử lý danh sách cũng là các thuật toán xử lý cơ bản như: tính tổng, trung bình, tìm max, min

Vẫn tuân thủ theo đúng nguyên tắc là thay thế lệnh xử lý dữ liệu của nút hiện thời bằng lệnh xử lý đặc trưng của thuật toán

Trong bài kiểm tra các em phải thực hiện việc duyệt danh sách 2 lần, 1 lần để tính giá trị trung bình, lần 2 để đếm số nút có giá trị lớn hơn trung bình

Procedure Linked Traverse(L: PointerType);

Var

CurrPtr: Pointer Type;

Tong, dem, tb, soluong: real;

Begin

CurrPtr:=L; {truy nhập đến nút đầu của danh sách}

While CurrPtr <> 0 do {vòng lặp duyệt danh sách}

Begin

Tong:=tong+Node[CurrPtr].Data; {xử lý dữ liệu nút hiện thời}

Dem:=dem+1;

CurrPtr:= Node[CurrPtr].Next {chuyển sang nút tiếp theo}

End;

Tb:=tong/dem; {đếm số lượng lớn hơn tb}

CurrPtr:=L; {truy nhập đến nút đầu của danh sách}

While CurrPtr <> 0 do {vòng lặp duyệt danh sách}

Begin

IF Node[CurrPtr].Data>TB THEN soluong:=soluong+1;

CurrPtr:= Node[CurrPtr].Next {chuyển sang nút tiếp theo}

End;

Write(soluong); {in ra kết quả}

END;

Ngày đăng: 08/11/2023, 23:57

🧩 Sản phẩm bạn có thể quan tâm

w