1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CÁC THAO TÁC TRÊN DANH SÁCH LIÊN KẾT ĐƠN C++ potx

5 1,1K 6
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 134,3 KB

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

Nội dung

CÁC THAO TÁC TRÊN DANH SÁCH LIÊN KẾT ĐƠN C++ 3... Đếm số phần tử thỏa điều kiện SV tự vẽ hình minh họa ..... Kiểm tra tồn tại một phần tử thỏa mãn điều kiện cho trước SV tự vẽ hình m

Trang 1

CÁC THAO TÁC TRÊN DANH SÁCH LIÊN KẾT ĐƠN C++

3 Đếm

3.1 Đếm số phần tử

(SV tự vẽ hình minh họa)

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

- Kết quả: Trả về số lượng các phần tử trong danh sách

- Giải thuật:

B1: d=0

p trỏ vào đầu danh sách

B2: Nếu p = NULL thì trả về d Kết thúc

B3: d=d+1

B4: p trỏ đến phần tử kế tiếp, quay lại B2

- Cài đặt:

int SoLuongNode(LIST l)

{

int d=0;

NODE *p=l.pHead;

while(p)

{

Trang 2

d++;

p=p->pNext;

}

return d;

}

3.2 Đếm số phần tử thỏa điều kiện

(SV tự vẽ hình minh họa)

Đầu vào: DSLK đơn l, điều kiện bên ngoài (nếu có: ví dụ giá trị x để so sánh)

- Kết quả: Trả về số lượng các phần tử thỏa điều kiện trong danh sách

- Giải thuật:

B1: d=0

p trỏ vào đầu danh sách

B2: Nếu p = NULL thì trả về d Kết thúc

B3: Nếu giá trị p thỏa điều kiện thì

d=d+1

B4: p trỏ đến phần tử kế tiếp, quay lại B2

- Cài đặt (Giả sử đếm số lượng phần tử có giá trị chẵn trong danh sách

số nguyên):

int SoLuongNodeChan(LIST l)

{

int d=0;

NODE *p=l.pHead;

Trang 3

while(p)

{

if(p->Key%2==0)

d++;

p=p->pNext;

}

return d;

}

4 Kiểm tra

4.1 Kiểm tra tồn tại một phần tử thỏa mãn điều kiện cho trước

(SV tự vẽ hình minh họa)

- Đầu vào: DSLK đơn l, điều kiện bên ngoài (nếu có: ví dụ giá trị x để so sánh)

- Kết quả: Trả về 1 nếu thỏa điều kiện, ngược lại trả về 0

- Giải thuật:

B1: p trỏ vào đầu danh sách

B2: Nếu p = NULL thì trả về 0 Kết thúc

B3: Nếu giá trị p thỏa điều kiện thì Trả về 1 Kết thúc

B4: p trỏ đến phần tử kế tiếp, quay lại B2

- Cài đặt (Giả sử kiểm tra xem danh sách có tồn tại phần tử có giá trị lẻ trong danh

Trang 4

sách số nguyên):

int KiemTraTonTaiLe(LIST l)

{

NODE *p=l.pHead;

while(p)

{

if(p->Key%2!=0)

return 1;

p=p->pNext;

}

return 0;

}

4.2 Kiểm tra toàn bộ các phần tử thỏa mãn điều kiện cho trước

- Đầu vào: DSLK đơn l, điều kiện bên ngoài (nếu có: ví dụ giá trị x để so sánh)

- Kết quả: Trả về 1 nếu thỏa điều kiện, ngược lại trả về 0

- Giải thuật:

B1: p trỏ vào đầu danh sách

B2: Nếu p = NULL thì trả về 1 Kết thúc

B3: Nếu giá trị p KHÔNG thỏa điều kiện thì

Trả về 0 Kết thúc

B4: p trỏ đến phần tử kế tiếp, quay lại B2

- Cài đặt (Giả sử kiểm tra xem toàn bộ các phần tử trong danh sách đều

có giá trị

chẵn trên danh sách số nguyên):

int KiemTraToanChan(LIST l)

{

NODE *p=l.pHead;

while(p)

{

Trang 5

if(p->Key%2!=0)

return 0;

p=p->pNext;

}

return 1;

}

Cài đặt (Giả sử kiểm tra xem danh sách số nguyên có tăng dần hay không):

int KiemTraTang(LIST l)

{

NODE *p=l.pHead;

while(p!=l.pTail)

{

if(p->Key > (p->pNext)->Key)

return 0;

p=p->pNext;

}

return 1;

}

Ngày đăng: 28/07/2014, 17:22

TỪ KHÓA LIÊN QUAN

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

w