kỹ thuật lập trình C chuyên nghiệp phần 3

22 12 0
kỹ thuật lập trình C chuyên nghiệp phần 3

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tham khảo tài liệu ''kỹ thuật lập trình c chuyên nghiệp phần 3'', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Mảng – Tìm Tì vịị trí t í X t dãy d㠄 „ Bài tốn: tốn: Tìm vị trí X mảng a có N thành phần phần ầ Giải pháp: pháp: Tìm //input: dãy (a, N), X //output: Vị trí X, -1 khơng có int Search(int a[], int N, int X) { for (int i = 0; i < N; i ++) if (a[i] == X) return i; return -1; } Mảng – Thêm Thê ột thành h phần hầ liệu liệ „ „ Bài toán: toán: cần ầ thêm thành phần ầ liệu X vào mảng a có N thành phần phần Hai H i trường t hợp h cần ầ xem xét: xét ét: … Dãy chưa có thứ tự Ỉ Thêm Thê X vào cuối ối a … Dãy có thứ tự Ỉ Tìm vị trí thích hợp, chèn X vào Mảng – Thêm Thê X vào cuối ối dãy dã Thêm 15 vào (a, 7) 12 N=8 a[N] = X; 15 NX ++; Mảng – Chèn Chè X vào dãy dã tăng tă dần dầ Chèn vào (a, 7) 12 15 N=8 X Vị trí thích hợp: pos Mảng – Chèn Chè X vào dãy dã tăng tă dầ dần //input: dãy (a, N) tăng dần, X //output: dãy (a, N) có X vị trí void Insert(int a[], int &N, int X) { int pos; for (pos = N; (pos>0)&&(a[pos (pos>0)&&(a[pos-1]>X); pos -) ) a[pos] = a[pos – 1]; a[pos] = X; N ++; } Mảng – L Loạii bỏ ột thành h phần hầ liệ liệu „ „ Bài toán: toán: loại bỏ thành phần liệu X khỏi mảng a có N thành phần phần Hướng giải quyết: quyết: xác định vị trí X, tìm thấy dồn phần tử phía sau lên để lấp vào chỗ hỗ trống trống ố trường hợp h : hợp: … Dãy khơng có thứ tự tự:: lấp phần tử cuối lên … Dãy thứ tự tự:: dời tất ấ phần ầ tử sau ví trí X lên trước vị trí trí Mảng – L Loạii bỏ X khỏi dãy dã tăng tă Loại khỏi (a, (a 8) pos 7 8 STOP N=7 X Tìm vị trí 5 Ok, found Dồn vị trí 4, 5, 6, lên Mảng – Loại L i bỏ X khỏi dãy dã tăng tă //input: dãy (a, N), X //output: dãy (a, N) loại bỏ thành phần X int Remove(int a[], int &N, int X) { int pos = Search(a, N, X); if (pos == -1) //khơng có X dãy return 0; N -; ; for (; (pos < N); pos ++) a[pos] = a[pos + 1]; return 1; } Mảng – Sắp Sắ xếp ế „ „ Bài toán: toán: Sắp ắ xếp ế thành phần ầ (a, N) đểể thu dãy tăng dần Giải pháp pháp: há : Tìm Tì cách h triệt t iệt tiêu tiê tất cảả nghịch hị h dãy Æ Thuật toán xếp Đổi chổ trực tiếp Mảng – Sắp xếp đổi chổ j 12 15 i Mảng – Sắp xếp đổi chổ j 12 i 15 Mảng – Sắp xếp đổi chổ j 12 i 15 Mảng – Sắp xếp đổi chổ j 12 i 15 Mảng – Sắp xếp đổi chổ 8 12 15 Mảng – Sắp xếp đổi chổ void Swap(int &x &x, int &y) { int t = x; x = y; y = t; } void id I InterchangeSort(int t h S t(i t a[], [] int i t N) { int i, j; for (i = ; i

Ngày đăng: 08/05/2021, 19:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan