1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #include <iostream> using namespace std; #define MAX 100 // MẢNG 1 CHIỀU // 1. HÀM NHẬP SỐ PHẦN TỬ void NhapN(int &N) { do { cout << "Moi ban nhap so phan tu cua mang N = "; cin >> N; // 0 < N <= MAX // Điều kiện phải ngược lại if (N <= 0 || N > MAX) cout << "Nhap sai vui long nhap la 0 < N <= " << MAX << "\n"; } while (N <= 0 || N > MAX); } // 2. HÀM NHẬP MẢNG void NhapMang(int A[], int N) { for (int i = 0; i < N; i++) { cout << "A[" << i << "]= "; cin >> A[i]; } } // 3. HÀM XUẤT MẢNG void XuatMang(int A[], int N) { for (int i = 0; i < N; i++) { cout << A[i] << "\t"; } } // Hoán vị 2 số void Swap(int &a, int &b) { int t = a; a = b; b = t; } void SelectionSort(int A[], int N) { int VTmin = 0, i = 0, j = 0; // chỉ số phần tử nhỏ nhất trong dãy hiện hành for (i = 0; i < N - 1; i++)//chỉ số đầu tiên của dãy hiện hành { VTmin = i; for (j = i + 1; j < N; j++) if (A[VTmin] > A[j]) VTmin = j; // lưu vtrí phần tử hiện nhỏ nhất Swap(A[VTmin], A[i]); } } int main() { int N = 0; NhapN(N); int A[MAX]; NhapMang(A, N); cout << "MANG BAN DAU\n"; XuatMang(A, N); cout << "\n"; SelectionSort(A, N); cout << "Mang sau khi sap xep : \n"; XuatMang(A, N); cout << "\n"; return 0; } |
Lập trình máy tính (gọi tắt là lập trình; tiếng Anh: programming) là kỹ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một hoặc nhiều ngôn ngữ lập trình để tạo ra một chương trình máy tính. Lập trình có các thành tố nghệ thuật, khoa học, toán học, và kỹ nghệ. Lập trình nhiều thì bạn sẽ thấy niềm vui và sự hứng thú torng đó. CNTT lập trình tuyệt vời.
Thứ Hai, 2 tháng 1, 2017
Thuật toán sắp xếp Chọn trực tiếp - Thuật toán sắp xếp Selection Sort
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét