23 thg 10, 2010

[C++] Giải thuật sắp xếp đổi chỗ trực tiếp

[C++] Giải thuật sắp xếp đổi chỗ trực tiếp

Đăng ngày: 18:41 31-12-2009
Thư mục: C++
#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ếp
void 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