[C++] Giải thuật sắp xếp đổi chỗ trực tiếp
#include <iostream.h>
#include <conio.h>
//Hàm đổi giá giá trị của hai biến
void Swap(int &a, int &b)
{
int c = a; a = b; b = c;
}
//Hàm sắp xếpvoid ExchangeSort(int *a, int n)
{
for(int i = 0; i < n; i++)
for(int j = i + 1; j < n; j++)
if(a[i] > a[j]) Swap(a[i], a[j]);
}
//Hàm chính
void main()
{
int *a, n;
cout<<"Nhap so phan tu cua day: "; cin>>n;
a = new int[n];
for(int i = 0; i < n; i++)
{ cout<<"Nhap a["<<i<<"]: "; cin>>a[i]; }
cout<<"Day da nhap la:\n";
for(i = 0; i < n; i++) cout<<a[i]<<" ";
ExchangeSort(a, n);
cout<<"\n\nDay sau khi sap xep tang dan la:\n";
for(i = 0; i < n; i++) cout<< a[i] <<" ";
getch();
}
#include <conio.h>
//Hàm đổi giá giá trị của hai biến
void Swap(int &a, int &b)
{
int c = a; a = b; b = c;
}
//Hàm sắp xếpvoid ExchangeSort(int *a, int n)
{
for(int i = 0; i < n; i++)
for(int j = i + 1; j < n; j++)
if(a[i] > a[j]) Swap(a[i], a[j]);
}
//Hàm chính
void main()
{
int *a, n;
cout<<"Nhap so phan tu cua day: "; cin>>n;
a = new int[n];
for(int i = 0; i < n; i++)
{ cout<<"Nhap a["<<i<<"]: "; cin>>a[i]; }
cout<<"Day da nhap la:\n";
for(i = 0; i < n; i++) cout<<a[i]<<" ";
ExchangeSort(a, n);
cout<<"\n\nDay sau khi sap xep tang dan la:\n";
for(i = 0; i < n; i++) cout<< a[i] <<" ";
getch();
}
Không có nhận xét nào:
Đăng nhận xét