Chuyển đến nội dung chính

Thuật Toán Sắp xếp chèn ( Insertion Sort )

* ý tưởng của bài toán : 
- lần lượt chọn các phần tử A[i] trong mảng A sau đó so sánh lần lượt với các giá trị từ A[i] -> A[0], nếu trong khoảng từ A[i]-> A[0] (" gọi tắt A[k] là phần tử trong khoảng này ")có giá trị nào nhỏ hơn giá trị đang chọn thì chuyển sang chọn phần tử kế tiếp A[i+1] nếu ngược lại thì ta đẩy dần phần tử A[k] đấy lên vị trí k+1 .

* Ví Dụ :
mảng A = {3, 6, 2, 1, 5};



* code :

#include <iostream>
#define Max 100
using namespace std; 
// nhập mảng 
void Nhap (int A[],int &n){
cout << "Nhap n : "; 
cin >> n;
for (int i = 0; i<n; i++){
cout << "A["<< i <<"] = ";
cin >> A[i]; 
}
}
// thuật toán 
void Insertion_Sort (int A[], int n){
for (int i = 1 ; i<n; i++ ){
int temp = A[i]; 
int j = i-1; 
while (temp < A[j] && j>=0){
if (A[j] > temp){
A[j+1] = A[j]; 
j--; 
}
}
A[j+1] = temp; 
}
}
// xuất mảng 
void Xuat (int A[],int n){
cout << " Mang dk sx lai nhu sau : "; 
for (int i = 0; i<n; i++ ){
cout << A[i] << " ";  
}
}
// MAIN 
int main (){
int A[Max], n = 0; 
Nhap (A,n);
Insertion_Sort(A,n);  
Xuat (A,n);
return 0; 

Nhận xét

Đăng nhận xét

Bài đăng phổ biến từ blog này

GIẤC MƠ GIỮA MÙA ĐÔNG

  GIẤC MƠ GIỮA MÙA ĐÔNG Chìm vào trong nỗi nhớ Lòng tôi vẫn bâng khuâng Dở mơ hay giấc mông Em đến như công chúa Bước ra từ cổ tích Cùng tôi phưu lưu ký Giữa phố thị xôn xao Em kể đôi câu chuyện Lòng tôi thấy yên bình Chuyện ngày càng lôi quấn Hút tôi khỏi thực tại Chìm vào giấc mộng ảo Được cùng em bước tiếp Trên những phố quen thuộc Giấc mộng đang khôn lớn Em bỗng nói chia xa Để ... Về trong chuyện cổ tích Mộng đẹp bỗng tan vỡ Lòng tôi lạc giữa phố đông Theo dòng chảy thời gian Bào mòn từng ký ức Lòng tôi càng lạc lõng Chẳng biết thực hay hư Chỉ thấy lòng trống vắng Nhớ em đến dại khờ. TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vi...

Các Thao Tác Trên Cây AVL

Các Thao Tác Trên Cây AVL   * Cac thao tac tren cay AVL        1. Them node vao cay AVL        2. Loai node tren cay AVL        3. Tim node tren cay AVL        4. Duyet theo thu tu truoc        5. Duyet theo thu tu giua        6. Duyet theo thu tu sau        7. chieu cao cua cay AVL code : #include <iostream> #include <stdlib.h> using namespace std; // dinh nghia Node typedef int item; typedef struct Node { item data; struct Node *left; struct Node *right; item height;   }; void init (Node *T){ T = NULL; } int Max (int a, int b){ return (a>b) ? a : b; } int height (Node *T){ if (T == NULL) return 0; return T->height; } // tao 1 node moi Node *makeNode (int data){ Node *p = new Node; p->data = data; p->left = NULL; p->right = NULL; return p; } //tim n...

Tổng hợp một số website của GOV (Việt Nam)

Cổng thông tin pháp luật, các văn bản quốc gia Link: https://vbpl.vn/Pages/portal.aspx Description: Cơ sở dữ liệu quốc gia về văn bản pháp luật. Cổng dịch vụ quốc gia Link: https://dichvucong.gov.vn Description: Nơi cung cấp các dịch vụ công trực tuyến, giúp người dân nắm rõ được các quy định, thủ tục thực hiện một số các dịch vụ công như: Hưu trí, Học tập, Cư trú, Hôn nhân …  National cyber security center Link: https://tinnhiemmang.vn Nguồn: website được cung cấp bởi “Trung tâm Giám sát an toàn không gian mạng quốc gia (NCSC).” Email: ncsc@ais.gov.vn => kiểm tra độ tín nhiệm của website. => Trên này cũng có các tính năng cảnh báo  *Mỗi bộ, ngành cũng sẽ có một website riêng Các bạn search theo: <tên bộ/ngành> + gov Bộ y tế: https://moh.gov.vn Bộ thông tin và truyền thông: https://mic.gov.vn Bộ giao thông vận tải: https://www.mt.gov.vn Bộ tài chính: https://mof.gov.vn Bộ công thương: https://moit.gov.vn Bộ công an : https://bocongan.gov.vn Chính phủ: https://chinh...