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

Đề tài: thuật toán sắp xếp chuỗi như thế nào?

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

    Mặc định thuật toán sắp xếp chuỗi như thế nào?

    Mình cần được giúp đỡ về thuật toán sắp xếp chuỗi ( chỉ ý tưởng thôi nhé). Giống như thuật toán sắp xếp của Excel hay của từ điển vậy đó. Thank mọi người trước nhé!
    VD: bạn nhập vào:
    nhập------kết quả
    abc-------a
    a--------abc
    bc--------bc
    cbe-------cbe
    eac-------e
    edf------eac
    f-------edf
    e-------f

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Hà Nội
    Bài viết
    137

    Mặc định DingPhonh

    Dùng hàm: int strcmp( const char *str1, const char *str2 ); để kiểm tra dấu bất đẳng thức. Cứ theo thứ tự từ điển thì hàm strcmp(..) trả về:
    PHP Code:
    1. //-1 nếu str1 < str2
    2. //0 nếu str1 == str2
    3. //1 nếu str1 > str2
    Dựa vào cái này mà lắp vô các thuật toán sắp xếp u đã học
    Ham strcmp o trong thu vien string.h
    Đã được chỉnh sửa lần cuối bởi DingPhonh : 19-03-2012 lúc 08:01 PM. Lý do: Fixed
    Freelancer, free coder, free tester.
    Nhận hợp tác viết app, viết midlet khi free time.
    Tình trạng: Siêu bận!

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

    bạn không hiểu ý mình rồi, không phải nhập vào "bca" rồi sắp xếp thành "abc". Việc này thì quá đơn giản ai mà chẳng biết. Mình ví dụ lại cho dễ hiểu.
    Có một danh sách tên các học sinh trong lớp ví dụ như "bình", "trân", "an", "hoa".. việc cần làm là sắp xếp chúng thành "an", "bình", "hoa", "trân". Sắp xếp giống từ điển có nghĩa là không những so sánh chứ cái đầu mà còn so sánh đến các chữ cái tiếp theo của từ đó. ví dụ: "ab" sẽ đứng trước "ac".

  4. #4
    Ngày gia nhập
    12 2010
    Nơi ở
    Hà Nội
    Bài viết
    137

    Mặc định DingPhonh

    Mình tra loi hoan toan đúng ý ban, co le ban chua hoc pointer, strcmp va strcpy roi. The nay nhe:
    Trong cac thuat toan sap xep, luon co mẫu: if (a[i] < b[i]) swap(a[i], b[i]);//a la mảng int
    Nếu a la mảng xâu thi sao? Ko the dùng <,>,= dc. Vậy thi day:
    1. Ban hay viet 1 ham NhoHonKo(char a[], char b[]), hàm trả về 1 neu a < b (vd:"ab" < "ac"), ngc lai tra ve 0.
    Khi do cai if trên se chuyen thanh:
    if (NhoHonKo(s[i], s[j])) swap(s[i], s[j]);//s la mảng xâu char[][]
    2. Viet 1 hàm Gánxau(char a[], char b[]) để chép ndung xau b vô xau a. Dùng hàm này trong swap.
    Good luck!
    Freelancer, free coder, free tester.
    Nhận hợp tác viết app, viết midlet khi free time.
    Tình trạng: Siêu bận!

  5. #5
    Ngày gia nhập
    05 2010
    Bài viết
    10

    mình đã biết pointer, strcpy, strcmp rồi nhưng có lẽ mình chưa hiểu rõ cách hoạt động của strcmp. strcmp sẽ so sánh lần lượt tất cả các kí tự. Thanks bạn nhiều nhé.

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

  1. Bài tập C thắc mắc về thuật toán chuẩn hóa chuỗi
    Gửi bởi behoclaptrinh1993 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 14-11-2011, 09:32 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Thuật toán băm 1 chuỗi trong C như thế nào!
    Gửi bởi bachhaiduong trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 3
    Bài viết cuối: 11-11-2010, 09:30 PM
  5. Tách chuỗi số giảm dần trong một chuỗi lớn, thuật toán xử lý như thế nào?
    Gửi bởi longtom trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 12
    Bài viết cuối: 12-05-2009, 04:10 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