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

Đề tài: Giải thuật shaker sort. Giúp mình giải thuật với?

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

    Mặc định Giải thuật shaker sort. Giúp mình giải thuật với?

    pac nào có giải thuật Shaker sort giúp e với

  2. #2
    Ngày gia nhập
    03 2008
    Nơi ở
    Hồ chí minh
    Bài viết
    134

    C Code:
    1. void ShakerSort(float a[],int n)
    2. {
    3.     int l=1,r=n,k=n;
    4.     int temp;
    5.     while (l<r)
    6.     {
    7.         for(int j=r;j>l;j--)
    8.             if(a[j]<a[j-1])
    9.                 {
    10.                     temp=a[j];
    11.                     a[j]=a[j-1];
    12.                     a[j-1]=temp;
    13.                     k=j;
    14.                 }
    15.             l=k;
    16.         for(j=l;j<r;j++)
    17.             if(a[j]>a[j+1])
    18.             {
    19.                 temp=a[j];
    20.                 a[j]=a[j+1];
    21.                 a[j+1]=temp;
    22.                 k=j;
    23.             }
    24.             r=k;
    25.     }
    26. }
    Bạn tham khảo nếu ko hiểu chỗ nào thì cho ý kiến!Mà nhìn cái code là cũng hiểu tại sao nó có tên là "shaker" luôn rồi.
    Every step I'm taking
    Every move I make
    Feels lost with no direction
    My faith is shaking
    But I gotta keep trying.

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

    bạn ơi tai sao ở trong hàm if có câu lệnh k=j roi khi thoát khỏi if lại r=k mà không r=j luôn cho nó gọn tương tự cho lệnh if bên dưới. Cảm ơn bạn đã giúp mình

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

    bạn ơi tai sao ở trong hàm if có câu lệnh k=j roi khi thoát khỏi if lại r=k mà không r=j luôn cho nó gọn tương tự cho lệnh if bên dưới. Cảm ơn bạn đã giúp mình
    ở trong câu điều kiện ở trên k = j kia mà :|

    p/s: em là lính mới, gặp đúng mấy chỗ đang học nên xí xọn 1 tí :">

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

    Bạn hãy để ý đến điều kiện của vòng lặp while (l<r) , cho left và right lần lượt bằng k để kiểm tra điều kiện của while ,xem có lặp tiếp hay dừng lại .

    bạn hãy thử dùng shake sort sắp xếp ra giấy mảng sau : 7 ,4 ,1 ,9 ,2 . Bạn sẽ thấy ngay lí do tại sao k=j .
    Đã được chỉnh sửa lần cuối bởi longho91 : 03-10-2011 lúc 12:40 AM.

  6. #6
    Ngày gia nhập
    01 2014
    Nơi ở
    Ho Chi Minh City, Vietnam, Vietnam
    Bài viết
    4

    Mặc định Giải thuật shaker sort. Giúp mình giải thuật với?

    mình có thắc mảng a[] bắt đầu từ a[0]->a[n-1] nghĩa là nếu ghi a[n] thì a[n] rỗng mà sao mà so sách ạ?

  7. #7
    Ngày gia nhập
    01 2013
    Bài viết
    1,476

    Trích dẫn Nguyên bản được gửi bởi tahongtrung Xem bài viết
    mình có thắc mảng a[] bắt đầu từ a[0]->a[n-1] nghĩa là nếu ghi a[n] thì a[n] rỗng mà sao mà so sách ạ?
    Đã quy ước như vậy thì làm sao có a[n]
    Code trên viết theo quy ước bắt đầu từ 1 ah'.

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

  1. Bài tập C Giải thuật Bubble Sort , Insertion Sort
    Gửi bởi cts2x 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-12-2013, 11:31 PM
  2. Bài tập C Cần giải giúp 3 câu trong đề thi kĩ thuật lập trình C và Cấu trúc dữ liệu và giải thuật
    Gửi bởi nguyenthi0602 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-09-2012, 08:42 PM
  3. Giải thuật xắp xếp Quick sort, biểu diễn bằng hình ảnh giải thuật này?
    Gửi bởi yuklong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 09-06-2012, 09:20 AM
  4. Algorithm mô tả giải thuật bubble sort trong C#?
    Gửi bởi vanhung90_hd trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 11-07-2011, 11:28 AM
  5. Thuật toán sắp xếp 1 dãy số theo thứ tự giảm dần bằng phương pháp chèn (Insert sort)
    Gửi bởi suicao 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: 29-08-2010, 06:45 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