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

Đề tài: Sắp xếp dữ liệu

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

    Mặc định Sắp xếp dữ liệu

    Hiện em có một bài toán thế này.
    Em có một khối dữ liệu có cấu trúc, mỗi node bao gồm nhiều trường, trong đó có 2 trường đặc biệt là height và width. Các node được nhập vào là bất kỳ. Và em muốn sắp xếp nó lại theo thứ tự ưu tiên như sau: node nào có height lớn hơn thì được duyệt trước, nếu như height bằng nhau thì cái nào có width lớn hơn sẽ được ưu tiên hơn. (hoặc là sắp xếp luôn từ lúc nhập dữ liệu vào thì càng tốt)

    Vậy em có thể lưu trữ dữ liệu vào cấu trúc nào, và giải thụât lưu trữ thế nào?!
    (Khối dữ liệu của em rất lớn, chỉ dùng con trỏ được thôi ạ. Em làm C++)

    Thks các bác

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Dân IT nói thì ít code thì nhiều phải không ta, coi cái này xem có idea gì không, code dùm thì dạo này tui hơi nhác :">
    C++ Code:
    1.  
    2. void SomeList::sort( bool forward )
    3. {
    4.     Element* pCurrent_=0;
    5.     int numErrs = 0;
    6.     if( forward == true )
    7.     {
    8.         do
    9.         {
    10.             numErrs = 0;
    11.             pCurrent_ = pHead_;
    12.             while( pCurrent_->pNext_ != 0 )
    13.             {
    14.                 if( pCurrent_->value_>pCurrent_->pNext_->value_ )
    15.                 {
    16.                     std::swap( pCurrent_,pCurrent_->pNext_ );
    17.                     ++numErrs;
    18.                 }
    19.                 else
    20.                     pCurrent_ = pCurrent_->pNext_;
    21.             }
    22.         } while( numErrs != 0 );
    23.     }
    24. }

  3. #3
    Ngày gia nhập
    05 2008
    Bài viết
    0

    thks bác, sắp xếp nổi bọt à, cái này em không nghĩ đến.
    Một ý tưởng rất hay.
    Vậy còn con trỏ next trỏ vào current thì bác giải quyết thế nào?!
    Đã được chỉnh sửa lần cuối bởi anonymous88 : 21-05-2008 lúc 05:56 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