/*thuật toán interchange sort
Ý tưởng: Xuất phát từ đầu dãy, tìm tất các các nghịch thế chứa phần tử này, triệt tiêu chúng bằng cách đổi chỗ 2 phần tử trong cặp nghịch thế. Lặp lại xử lý trên với phần tử kế trong dãy.
Bước 1: i = 0; // bắt đầu từ đầu dãy
Bước 2: j = i+1; //tìm các nghịch thế với a[i]
Bước 3:
Trong khi j < N thực hiện
Nếu a[j]<a[i] //xét cặp a[i], a[j]
Swap(a[i],a[j]);
j = j+1;
Bước 4: i = i+1;
Nếu i < N-1: Lặp lại Bước 2.
Ngược lại: Dừng.
*/
#include<iostream>
using namespace std;
void xep(int a[], int n)
{
for (int i = 0; i < n - 1;i++)
for (int j = i + 1; j < n;j++)
if (a[i]>a[j])
{
a[i] += a[j]; a[j] = a[i] - a[j]; a[i] = a[i] - a[j];
}
}
void main()
{
int a[10] = { 3, 7, 4, 1, 8, 9, 2, 5, 6, 10 };
xep(a, 10);
for (int i = 0; i < 10; i++) cout << " " << a[i];
}
Saturday, January 24, 2015
thuật toán interchange sort
Related Posts:
thuật toán heap sort - sắp xếp vun đống, (cây) thuật toán heap sort - sắp xếp vun đống, (cây) Heap Sort tận dụng được các phép so sánh ở bước i-1 mà thuật toán sắp xếp chọn trực tiếp không tận dụng được Để làm được điều này Heap sort thao tác dựa trên cây. Ở cây trê… Read More
thuật toán insertion sort - chèn trực tiếp thuật toán insertion sort - chèn trực tiếp Giả sử có một dãy a0 , a1 ,... ,an-1 trong đó i phần tử đầu tiên a0 , a1 ,... ,ai-1 đã có thứ tự. Tìm cách chèn phần tử ai vào vị trí thích hợp của đoạn đã được sắp để có dãy… Read More
thuật toán shell sort - cải tiến của chèn trực tiếp thuật toán shell sort - cải tiến của chèn trực tiếp shell sort là Cải tiến của phương pháp chèn trực tiếp Ý tưởng: Phân hoạch dãy thành các dãy con Sắp xếp các dãy con theo phương pháp chèn trực tiếp Dùng phương pháp… Read More
sắp xếp từ điển trong lập trình C++ - bài tập đồ án CTDL & GTsắp xếp từ điển trong lạp trình C++ - bài tập đồ án CTDL & GT sắp xếp từ điển trong lập trình c/c++,tạo 1 mảng 1 chiều chứa các từ tiếng anh lấy từ file http://blackberryvietnam.net/threads/du-lieu-tu-dien-cho-… Read More
thuật toán binary insertion sort - chèn nhị phân thuật toán binary insertion sort - chèn nhị phân void BInsertionSort(int a[],int n ) { int l,r,m,i; int x;//lưu giá trị a[i] tránh bị ghi đè khi dời chỗ các phần tử. for(int i=1 ; i<n ; i++) { x = a… Read More