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

Đề tài: [ Solved ]Tìm kiếm đệ quy trong mảng 1 chiều

  1. #1
    Ngày gia nhập
    07 2008
    Bài viết
    6

    Mặc định [ Solved ]Tìm kiếm đệ quy trong mảng 1 chiều

    em có code như thế này :

    PHP Code:
    int TimGTLNDQ(int ary[],unsigned size)
    {
        
    int m;
        if(
    size==1)
            return 
    ary[0];
        else
        {
            
    m=TimGTLNDQ(ary,size-1); // các đoạn này không hiểu
            
    if(m<ary[size-1])  // pác nào chỉ giúp
                
    m=ary[size-1];   //
            
    return m;
        }

    giả sử ta có mảng ary[6]={2,3,6,4,8,1} chạy với code trên .

    nếu có thể pác liên lạc qua YM em : linhphongvp , cho dễ thanks

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

    Bài này giống như bạn so sánh từng cặp số với nhau để tìm ra số lớn nhất. Sau đó ta lại đem số lớn nhât so sánh với số thứ [size-1] trong mảng. Cứ lập đi lập lại như vậy.

    C++ Code:
    1. int TimGTLNDQ(int ary[],unsigned size)
    2. {
    3.     int m;
    4.     if(size==1)
    5.         return ary[0];
    6.     else
    7.     {
    8.         m=TimGTLNDQ(ary,size-1);
    9.         // gọi đệ quy liên tục cho đến khi gặp phần tử thứ 2 ( vị trí thứ nhất )
    10.         if(m<ary[size-1])  // so sánh nó với phần tử liền trước
    11.             m=ary[size-1];  
    12.         return m;
    13.     }
    14. }
    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
    07 2008
    Bài viết
    6

    Code:
    int TimGTLNDQ(int ary[],unsigned size)
    {
        int m;
        if(size==1)
            return ary[0];
        else
        {
            m=TimGTLNDQ(ary,size-1);
            // gọi đệ quy liên tục cho đến khi gặp phần tử thứ 2 ( vị trí thứ nhất )
            if(m<ary[size-1])  // so sánh nó với phần tử liền trước
                m=ary[size-1];  
            return m;
        }
    }
    vậy với mảng ary[6]={2,3,6,4,8,1} thì code chạy như sau có đúng không :
    đầu tiên m=1 , sau đó so sánh với ary[4]=8 , nếu m<ary[4] thì gán m=8 , sau đó return m ( gọi lại hàm TimGTLNDQ(int ary[],unsigned size) lại chạy tiếp tới khi size==1 thì return a[0])
    Vậy kết quả sau khi trả về là a[0] chứ, đâu phải m

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

    hàm này return m nhưng không gọi lại hàm đệ quy. Lời gọi đệ quy đã được thực hiện trước khi return m rồi. Sau khi return m nó quay lui trở lại chỗ if(m<ary[size-1]) và tiếp tục quay lui. Do đó kết quả trả về là m chứ không phải ary[0].
    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.

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

    Trích dẫn Nguyên bản được gửi bởi darrenme Xem bài viết
    some people ramble for 10 minutes at lunchtime, some people send presents... I think we know who gives better gifts... heehee [/size][size=2]I really love these Wigs Lace Wigs Full Lace Wigs Human Hair Wigs Cosplay Wigs
    Bớ các mod, có kẻ spam quảng cáo nè ! Xử ẻm mau lên.
    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.

Các đề tài tương tự

  1. thuật toán tìm kiếm theo chiều sâu trong môn TRR. Cần giúp đỡ?
    Gửi bởi acuvodoi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 15-03-2012, 10:26 PM
  2. sắp xếp mảng 2 chiều,tìm kiếm trong mảng 2 chieu
    Gửi bởi dinhvanvo trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 14-04-2009, 03:39 PM
  3. [ Solved ]Hỏi về việc tìm kiếm trong mảng
    Gửi bởi tranphuoctien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 30-10-2008, 01:31 PM
  4. [Solved]tìm kiếm trong SQL server 2000
    Gửi bởi hackerhocyeu trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 1
    Bài viết cuối: 19-04-2008, 10:09 PM
  5. [Solved]Đếm số 0 trong một dòng của mảng 2 chiều
    Gửi bởi nightmare_hbt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 01-01-2008, 04:50 PM

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