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

Đề tài: sắp xêp danh sách tăng dần theo giai thuật vun đống........

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

    Mặc định sắp xêp danh sách tăng dần theo giai thuật vun đống........

    Cho một danh sách số nguyên{13, 22, 19, 34, 18, 8, 33}.Hãy mô tả các bước thực hiện sắp xêp danh sách tăng dần theo giai thuật vun đống........
    giúp em nhé

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

    Mô tả ở đây là sao vậy bạn??? Dùng đồ họa hay không.

    Nếu không dùng đồ họa thì bạn viết thuật toán sắp xếp vun đống lên rùi tui giúp cho Chứ bạn nhờ mà double việc như vậy thì mệt lắm.

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

    Mô tả là giải thuật mình viết như nào rồi mình mô tả lại mà có gì đâu!!!
    mình không biết mà
    bạn giúp mình cái minh viet void DON DONG nhé
    void DONDONG
    {
    int tg,h;
    if(2*k+1>=2)return;
    if(2*k+2<n&&a[2*k+2]>a[2*k+1])
    h=2*k+2;
    else h=2*k+1;
    if(a[h]>a[k];
    a[k]=a[h];
    a[h]=tg;
    DONDONG(h,n);
    }
    }
    đấy bạn xem mình còn thiếu gì nữa,......bopr sung giúp mình với

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Nhìn code của bạn khó chịu quá,mình chưa xem nhưng nhìn qua đã thấy chỗ không ổn rồi :
    DONDONG(h,n);
    cái hàm DONDONG của bạn ban đầu có thấy có tham số vào đâu ???
    Bạn xem lại ở code này nhé :
    PHP Code:
    #include < iostream.h >
    #include < conio.h >
    int heapSize 10;
    void print(int a[]) 
    {
      for (
    int i 0<= 9i++) 
      {
        
    cout << a[i] << "-";
      }
      
    cout << endl;
    }

    int parent(int i
    {
        if(
    i==1)
            return 
    0;

        if(
    i%2==0)
            return ( (
    2)-1);
        else
            return ( (
    2));
    }

    int left(int i
    {
      return (
    i) + 1;
    }

    int right(int i) {
      return (
    i) + 2;
    }

    void heapify(int a[], int i
    {
      
    int l left(i), great;
      
    int r right(i);
      if ( (
    a[l] > a[i]) && (heapSize)) {
        
    great l;
      }
      else 
      {
        
    great i;
      }
      if ( (
    a[r] > a[great]) && (heapSize)) 
      {
        
    great r;
      }
      if (
    great != i) {
        
    int temp a[i];
        
    a[i] = a[great];
        
    a[great] = temp;
        
    heapify(agreat);
      }
    }

    void BuildMaxHeap(int a[]) 
    {
      for (
    int i = (heapSize 1) / 2>= 0i--) {
        
    heapify(ai);
        print(
    a);
      }
    }

    void HeapSort(int a[]) 
    {
      
    BuildMaxHeap(a);
      for (
    int i heapSize0i--) {
        
    int temp a[0];
        
    a[0] = a[heapSize 1];
        
    a[heapSize 1] = temp;
        
    heapSize heapSize 1;
        
    heapify(a0);
      }


    Còn bạn muốn thuật toán nó chạy thế nào thì có thể xem các đoạn java applet mô phỏng thuật toán ,cái này chắc là đúng ý bạn này http://www2.hawaii.edu/~copley/665/HSApplet.html
    Đã được chỉnh sửa lần cuối bởi dieucay555 : 16-10-2008 lúc 05:15 PM.
    Cánh Chym ứ mỏi

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

    Trích dẫn Nguyên bản được gửi bởi ngocnam_it Xem bài viết
    Mô tả là giải thuật mình viết như nào rồi mình mô tả lại mà có gì đâu!!!
    mình không biết mà
    bạn giúp mình cái minh viet void DON DONG nhé
    void DONDONG
    {
    int tg,h;
    if(2*k+1>=2)return;
    if(2*k+2<n&&a[2*k+2]>a[2*k+1])
    h=2*k+2;
    else h=2*k+1;
    if(a[h]>a[k];
    a[k]=a[h];
    a[h]=tg;
    DONDONG(h,n);
    }
    }
    đấy bạn xem mình còn thiếu gì nữa,......bopr sung giúp mình với

    1 - Mình đã nói với bạn rồi là Mình chỉ giúp được bạn khi bạn đã code xong thuật toán cho nó chạy đúng thôi, không phải là bạn code được một xíu rồi đưa lên nhờ mình code cho rồi lấy bài về nộp (vì nếu vậy thì còn gì là bài tập nữa phải không bạn???)
    2- Bạn làm biếng quá nên mình không thể giúp được thêm gì cho bạn. (thực sự mình rất tiếc )

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

    Mặc định sắp xêp danh sách tăng dần theo giai thuật vun đống........

    oh mình cám ơn mình viết được có mỗi thế
    dù sao minh cam ơn các bạn

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

  1. sắp xếp danh sách liên kết đơn theo số lượng bằng thuật toán buble sort
    Gửi bởi HoaNhien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 07-09-2012, 11:04 AM
  2. help!! chèn 1 số vào mảng tăng khồng làm thay đổi tính tăng bằng danh sách liên kết đơn....
    Gửi bởi nobita_1992 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 20-11-2011, 09:03 PM
  3. Sắp xếp danh sách sinh vien tăng dần theo họ tên
    Gửi bởi teotoni trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 27-04-2011, 10:06 PM
  4. Xuất danh sách tăng dần theo Tên Sinh Viên
    Gửi bởi binhkokomiA18 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-12-2008, 02:09 PM
  5. sắp xếp danh sách học sinh tăng dần theo tuổi
    Gửi bởi nguyenanhquoc 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: 04-10-2008, 07: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