kỹ thuật lập trình C chuyên nghiệp phần 3
Số trang: 22
Loại file: pdf
Dung lượng: 627.24 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
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ả
Nội dung trích xuất từ tài liệu:
kỹ thuật lập trình C chuyên nghiệp phần 3Mảng – Tìm vị trí X trong dãy dã Bài toán: Bài toán: Tìm vị trí X trên mảng a đang có N thành phần. n. Gi pháp: Giải pháp: Tìm tuần tự//input: dãy (a, N), X//output: Vị trí của X, -1 nếu 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 một thành phần dữ liệu thà li Bài toán: Bài toán: cần thêm thành phần dữ liệu X vào mảng a đang có N thành phần.n. Hai trường hợp cần xem xét: Dãy Dãy chưa có thứ tự Thê Thêm X vào cuối a. Dãy Dãy đã có thứ tự Tìm Tìm vị trí thích hợp, chèn X vàoMảng – Thêm X vào cuối dãy dã Thêm 15 vào (a, 7) 0 1 2 3 4 5 6 7 12 2 8 5 1 6 4 N=7 8 a[N] = X; 15 X N ++;Mảng – Chèn X vào dãy tăng dần dã Chèn 6 vào (a, 7) pos 0 1 2 3 4 5 6 7 1 2 4 5 8 15 12 N=7 8 6 X Vị trí thích hợp: 4Mảng – Chèn X vào dãy tăng dần dã//input: dãy (a, N) tăng dần, X//output: dãy (a, N) đã có X ở đúng vị trívoid Insert(int a[], int &N, int X){ int pos; for (pos = N; (pos>0)&&(a[pos-1]>X); pos --) (pos N; (pos>0)&&(a[pos 1]>X); pos a[pos] = a[pos – 1]; a[pos] = X; N ++;}Mảng – Loại bỏ một thành phần dữ liệu thà li Bài toán: Bài toán: loại bỏ thành phần dữ liệu X ra khỏi mảng a đang có N thành phần. n. Hướng giải quyết: xác định vị trí của X, nếu tìm t: thấy thì dồn các phần tử ở phía sau lên để lấp vào chỗ trống. 2 trường hợp: ng. p: Dãy Dãy không có thứ tự: lấp phần tử cuối lên Dãy Dãy đã thứ tự: dời tất cả các phần tử ở sau ví trí của X lên trước 1 vị trí. trí.Mảng – Loại bỏ X ra khỏi dãy tăng kh dã Loại 5 khỏi (a, 8) kh (a 8) pos 0 1 2 3 4 5 6 7 2 5 1 4 7 8 8 9 STOP N=8 7 5 Ok, found X Tìm vị trí của 5 Dồn các vị trí 4, 5, 6, 7 lênMảng – Loại bỏ X ra khỏi dãy tăng kh dã//input: dãy (a, N), X//output: dãy (a, N) đã loại bỏ 1 thành phần Xint Remove(int a[], int &N, int X){ int pos = Search(a, N, X); if (pos == -1) //không có X trong dãy return 0; 0; N --; --; for (; (pos < N); pos ++) a[pos] = a[pos + 1]; return 1;}Mảng – Sắp xếp Bài toán: Bài toán: Sắp xếp các thành phần của (a, N) để thu được dãy tăng dần Gi Giải pháp: Tìm cách triệt tiêu tất cả các nghịch thế háp: của dãy Thu Thuật toán sắp xếp Đổi chổ trực tiếpMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 12 2 8 5 1 6 4 15 1 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 2 1 12 8 5 2 6 4 15 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 1 2 12 8 5 6 4 15 4 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 1 2 4 12 8 6 5 15 5 iMảng – Sắp xếp đổi chổ đổ ch 1 2 3 4 5 6 7 8 1 2 4 5 6 8 12 15Mảng – Sắp xếp đổi chổ đổ ch void Swap(int &x, int &y) Swap(int &x int &y) { int t = x; x = y; y = t; } void InterchangeSort(int a[], int N) N) { int i, j; i, j; for (i = 0 ; i Mảng nhiều chiều C không hỗ trợ mảng nhiều chiều. Tuy nhiên có thể tiếp u. cận theo hướng: Mảng 2 chiều là mảng một chiều mà mỗi ng: thành phần của nó là một mảng một chiều. “rainfall” là mảng gồm 12float rainfall[12][365]; thành phần, mỗi thành phần là mản ...
Nội dung trích xuất từ tài liệu:
kỹ thuật lập trình C chuyên nghiệp phần 3Mảng – Tìm vị trí X trong dãy dã Bài toán: Bài toán: Tìm vị trí X trên mảng a đang có N thành phần. n. Gi pháp: Giải pháp: Tìm tuần tự//input: dãy (a, N), X//output: Vị trí của X, -1 nếu 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 một thành phần dữ liệu thà li Bài toán: Bài toán: cần thêm thành phần dữ liệu X vào mảng a đang có N thành phần.n. Hai trường hợp cần xem xét: Dãy Dãy chưa có thứ tự Thê Thêm X vào cuối a. Dãy Dãy đã có thứ tự Tìm Tìm vị trí thích hợp, chèn X vàoMảng – Thêm X vào cuối dãy dã Thêm 15 vào (a, 7) 0 1 2 3 4 5 6 7 12 2 8 5 1 6 4 N=7 8 a[N] = X; 15 X N ++;Mảng – Chèn X vào dãy tăng dần dã Chèn 6 vào (a, 7) pos 0 1 2 3 4 5 6 7 1 2 4 5 8 15 12 N=7 8 6 X Vị trí thích hợp: 4Mảng – Chèn X vào dãy tăng dần dã//input: dãy (a, N) tăng dần, X//output: dãy (a, N) đã có X ở đúng vị trívoid Insert(int a[], int &N, int X){ int pos; for (pos = N; (pos>0)&&(a[pos-1]>X); pos --) (pos N; (pos>0)&&(a[pos 1]>X); pos a[pos] = a[pos – 1]; a[pos] = X; N ++;}Mảng – Loại bỏ một thành phần dữ liệu thà li Bài toán: Bài toán: loại bỏ thành phần dữ liệu X ra khỏi mảng a đang có N thành phần. n. Hướng giải quyết: xác định vị trí của X, nếu tìm t: thấy thì dồn các phần tử ở phía sau lên để lấp vào chỗ trống. 2 trường hợp: ng. p: Dãy Dãy không có thứ tự: lấp phần tử cuối lên Dãy Dãy đã thứ tự: dời tất cả các phần tử ở sau ví trí của X lên trước 1 vị trí. trí.Mảng – Loại bỏ X ra khỏi dãy tăng kh dã Loại 5 khỏi (a, 8) kh (a 8) pos 0 1 2 3 4 5 6 7 2 5 1 4 7 8 8 9 STOP N=8 7 5 Ok, found X Tìm vị trí của 5 Dồn các vị trí 4, 5, 6, 7 lênMảng – Loại bỏ X ra khỏi dãy tăng kh dã//input: dãy (a, N), X//output: dãy (a, N) đã loại bỏ 1 thành phần Xint Remove(int a[], int &N, int X){ int pos = Search(a, N, X); if (pos == -1) //không có X trong dãy return 0; 0; N --; --; for (; (pos < N); pos ++) a[pos] = a[pos + 1]; return 1;}Mảng – Sắp xếp Bài toán: Bài toán: Sắp xếp các thành phần của (a, N) để thu được dãy tăng dần Gi Giải pháp: Tìm cách triệt tiêu tất cả các nghịch thế háp: của dãy Thu Thuật toán sắp xếp Đổi chổ trực tiếpMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 12 2 8 5 1 6 4 15 1 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 2 1 12 8 5 2 6 4 15 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 1 2 12 8 5 6 4 15 4 iMảng – Sắp xếp đổi chổ đổ ch j 1 2 3 4 5 6 7 8 1 2 4 12 8 6 5 15 5 iMảng – Sắp xếp đổi chổ đổ ch 1 2 3 4 5 6 7 8 1 2 4 5 6 8 12 15Mảng – Sắp xếp đổi chổ đổ ch void Swap(int &x, int &y) Swap(int &x int &y) { int t = x; x = y; y = t; } void InterchangeSort(int a[], int N) N) { int i, j; i, j; for (i = 0 ; i Mảng nhiều chiều C không hỗ trợ mảng nhiều chiều. Tuy nhiên có thể tiếp u. cận theo hướng: Mảng 2 chiều là mảng một chiều mà mỗi ng: thành phần của nó là một mảng một chiều. “rainfall” là mảng gồm 12float rainfall[12][365]; thành phần, mỗi thành phần là mản ...
Tìm kiếm theo từ khóa liên quan:
ngôn ngữ lập trình C# tin học ứng dụng lập trình windows lập trình C# mẹo hay cho tin học thủ thuật windowsGợi ý tài liệu liên quan:
-
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Lập trình game với ứng dụng Unity
16 trang 472 0 0 -
Tóm tắt Đồ án tốt nghiệp Công nghệ thông tin: Xây dựng game 2D trên Unity
21 trang 345 1 0 -
Tài liệu bồi dưỡng giáo viên sử dụng SGK Tin học 10 Cánh diều (Định hướng Tin học ứng dụng)
61 trang 238 0 0 -
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 234 0 0 -
101 trang 199 1 0
-
15 trang 198 0 0
-
20 trang 183 0 0
-
Cách gỡ bỏ hoàn toàn các add on trên Firefox
7 trang 181 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 177 0 0 -
Giáo trình Mạng máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
189 trang 164 0 0