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

Đề tài: Thuật toán sắp xếp tên

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    8

    Mặc định Thuật toán sắp xếp tên

    Bác nào có thuật toán sắp xếp tên ko, chỉ em với, ngâm cứu mãi ko ra. Ví dụ như cho một dãy tên sau:
    "huy ngoc tung nhung" chả hạn, sau khi sắp xếp thì là "huy ngoc nhung tung", nghĩa là nếu chữ cái đầu tiên giống nhau thì xét chữ cái thứ 2, nếu lại bằng nhau thì lại xét chữ cái tiếp theo
    welcome to http://fotech.org
    bắt đầu với C/C++

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi Huyx Xem bài viết
    Bác nào có thuật toán sắp xếp tên ko, chỉ em với, ngâm cứu mãi ko ra. Ví dụ như cho một dãy tên sau:
    "huy ngoc tung nhung" chả hạn, sau khi sắp xếp thì là "huy ngoc nhung tung", nghĩa là nếu chữ cái đầu tiên giống nhau thì xét chữ cái thứ 2, nếu lại bằng nhau thì lại xét chữ cái tiếp theo
    Bạn có thể sử dụng hàm memcmp(...); và dùng cây AVL.
    Có gì trao đổi sau nhé, mình đi happybrithday đã
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  3. #3
    Ngày gia nhập
    09 2007
    Bài viết
    724

    cái này nếu bạn đang dùng MFC thì bạn có thể dùng Array trong đó dùng mỗi phần tử là một đối tượng thuộc lớp CString.
    rồi sử dụng các thuật toán sắp xếp như mảng các số nguyên, số thực mà bạn biết.

    nếu bạn không dùng MFC thì bạn có thể dùng một mảng 2 chiều kiểu char.
    Code:
    void Sort(char **A, int na)
    {
          for(int i = 0; i< na; i++)
           {
             for(int j=i+1; j<na; j++)
                 for(int k = 0; k < na; k++)
                     if(A[i][k]>A[j][k])
                         HoanVi(A,i,j); // hàm hoán vị dòng i và cột j trong A
           }
    }
    còn hàm hoán vị dòng i và cột j trong A thì bạn tự code nhé.
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 21-11-2007 lúc 12:23 AM.

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

    Bạn thử cái này xem sao, nó có vẻ đơn giản :
    PHP Code:
    #include <iostream>
    #include <string>

    void StringSwap(char **, char **);
    void StringSort(char **, const int bool);
    void PrintString(char **, int);

    int main()
    {
          
    int choice;
          const 
    int size 11;
          
    char *Name[size] = {        "Ronaldo""Rivaldo"
                                
    "Beckham""Zidane""Figo""Overmars",
                                
    "Chivu""Redondo""JaapStam""Zanetty",
                                            
    "Toldo"};
        
          
    cout << "ORIGINAL \n";
          
    PrintStringNamesize);

          
    cout << "\nEnter choice :";
          
    cout << "\n.1 Ascending, 0.Descending ";
          
    cin >> choice;
          
    StringSortNamesizechoice);                                
        
          
    cout << "\nAFTER SORTED \n";
          
    PrintStringNamesize);    
                                           
          return 
    0;
    }
    void StringSwap(char **_firstchar ** _second )
    {
        
    char *tmp = *_first;
        *
    _first = *_second;
        *
    _second tmp;
        
    tmp NULL/*Return pointer to NULL*/
    }

    void StringSort(char **A, const int sizeStringbool compare )
    {
        
    int order 0;
        for( 
    int i sizeString 10i-- )
        {
            for( 
    int j 0ij++ )
            {
                
    order strcmp(A[j], A[j+1]);
                if(( 
    compare && order )||(!compare && order )) 
                            {
                    
    StringSwap( &A[j], &A[j+1] );
                }
            }
        }
    }

    void PrintString(char **nameint sizeString )
    {
        for( 
    int i 0sizeStringi++ )
        {
                  
    cout << "[" << i+<< "]" << name[i];
                  
    cout << "\n";
            }
          


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

  1. Cơ sở làm huy hiệu, bảng tên nhân viên, bảng tên mica, bảng tên ăn mòn, bảng tên thay tên
    Gửi bởi tranngocson186 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 25-05-2013, 08:37 AM
  2. CC B.I.G Tower 18 Phạm Hùng bán trong ngày - 22 tr/m2 ,ĐN ,vào tên ,thuế phí đầy đủ
    Gửi bởi mrdt004 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 18-07-2012, 09:36 AM
  3. hỏi kỹ thuật xóa sinh viên theo tên
    Gửi bởi manocanh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 28-11-2010, 06:48 PM
  4. thuật toán tách họ tên trong c++
    Gửi bởi cristiano ronaldo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 02-04-2008, 12:27 PM
  5. Tại sao lại có tên thuật toán là Quy Hoạch Động
    Gửi bởi kidkid trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 14-10-2007, 03:08 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