Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Thuật toán Bubble Sort

Share
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Thuật toán Bubble Sort

Bài gửi  admin on Sat Dec 12, 2009 10:38 pm

Thuật toán Bubble Sort sắp xếp mảng A có n phần tử theo thứ tự tăng dần.
Chương trình xuất kết quả theo từng bước.

Code:
#include <conio.h>
#include <stdio.h>

void NhapMang(int A[], int &n)
{
   printf("Nhap n = ");
   scanf("%d",&n);
   for(int i = 0; i<n ; i++)
   {
      printf("Phan tu %d =",i);
      scanf("%d", &A[i]);
   }
}
void XuatMang(int A[], int n, int j)
{
   printf("\n");
   for(int i = 0; i<n ; i++)
   if(i>=j)
      printf("%d\t",A[i]);
   else
      printf("\t");

}
void HoanVi(int &a, int &b)
{
   int temp = a;
   a = b;
   b = temp;
}
void BubleSort(int A[], int n)
{
   for(int i = 0; i<n-1; i++)
   {
      for(int j = n-1; j>i; j--)
      if(A[j]<A[j-1])
         HoanVi(A[j],A[j-1]);
      XuatMang(A,n,i);
   }
}
void main()
{
   clrscr();
   int C[100], n, S;
   NhapMang(C,n);
   printf("\nBubble Sort\n");
   XuatMang(C,n,0);
   BubleSort(C,n);
   getch();
}
--------------
Tình yêu vội đến và vội đi

hktb
Nhập môn
Nhập môn

Tổng số bài gửi : 1
Points : 1
Join date : 31/10/2011

Re: Thuật toán Bubble Sort

Bài gửi  hktb on Mon Oct 31, 2011 11:16 pm

bạn ơi! thuật toán bubble sort lài gi vậy bạn ? chắc bạn phải xem lại thuật toán này rồi Smile
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Re: Thuật toán Bubble Sort

Bài gửi  admin on Tue Nov 01, 2011 12:33 pm

hktb đã viết:bạn ơi! thuật toán bubble sort lài gi vậy bạn ? chắc bạn phải xem lại thuật toán này rồi Smile

Chắc chắn là không sai. Bubble Sort có nhiều cách trình bài theo ý tưởng:

- Bạn có thể Sort theo A[i] và A[j] cũng được. Nếu Sort theo cách này nó thuận lợi cho bạn trong môn cấu trúc dữ liệu cài đặt bằng con trỏ.
Code:
void Bubble_Sort(List L) {
  for(List i=L->Next; i!=NULL; i=i->Next)
      for(List j=i->Next; j!=NULL; j=j->Next)
        if(i->Element>j->Element)
        {
            ElementType temp = i->Element;
            i->Element = j->Element;
            j->Element = temp;
        }
}

- Bạn nên nghiên cứu sâu hơn để hiểu rõ hơn thuật toán. Có rất nhiều sách và giáo trình trình bài khác nhau, nhưng ý tưởng nổi bọt chỉ là 1 và độ phức tạp như nhau.

Sponsored content

Re: Thuật toán Bubble Sort

Bài gửi  Sponsored content


    Hôm nay: Tue Aug 22, 2017 4:23 pm