Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Đệ Quy trong C++

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    1

    Mặc định Đệ Quy trong C++

    mình có 1 bài code như thế này
    có 1 lớp Mang

    C++ Code:
    1. class Mang
    2. {  
    3.     private :
    4.     int m_iN;//So^' Pha^`n Tu? Trong Te^.p tu` 30000 -> 1000000
    5.     int *m_arrA;
    6.     double time1;
    7.     double time2;
    8.     double time3;
    9.     double time4;
    10.     double time5;
    11.                
    12.     public:
    13.     Mang()
    14.     {                  
    15.         this -> m_arrA = NULL;
    16.         this -> m_iN = 0;
    17.     }
    18.     Mang(int m_iN1)
    19.     {      
    20.         this -> m_iN = m_iN1;
    21.         this -> m_arrA = new int[m_iN1 + 1];
    22.     }
    23.     ~Mang()
    24.     {      
    25.         this -> m_iN = 0;
    26.         delete this -> m_arrA;
    27.     }
    28.     void taoMang();            
    29.     void ghiMang(char *ctenTep);
    30.     void docMang(char *ctenTep);
    31.     void quickSort();
    32. };

    mình xây dựng giải thuật quicksort trên lớp mảng này nhưng trong phương pháp quicksort có gọi đệ quy lại hàm quicksort mình làm mọi cách nhưng vẫn không có cách nào cho nó chạy được ai giúp mình với

    Vui lòng bọc code vào tag code
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 12-03-2009 lúc 10:16 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn nói gọi đệ quy mà sao mình ko thấy chỗ nào gọi đệ quy cả, thế này thì làm sao mà sửa được ?
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    ok, mình làm cái quick sort đây, bạn xem thử đi
    C++ Code:
    1. void Array::QuickSort(int h, int f) //h: head; f:foot
    2. {
    3.     int i = h, j = f;
    4.     int num = iArray[(i+j)/2];
    5.     do
    6.     {
    7.         while (iArray[i]<num) i++;
    8.         while (iArray[j]>num) j--;
    9.         if (i<=j)
    10.         {
    11.             swap(iArray[i],iArray[j]);
    12.             i++;j--;
    13.         }
    14.     } while(i<=j);
    15.     if (j>h) this->QuickSort(h,j);
    16.     if (i<f) this->QuickSort(i,f);
    17. }

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn