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

Đề tài: Code quicksort viết bằng C. Sai ở chỗ nào?

  1. #1
    Ngày gia nhập
    01 2011
    Bài viết
    2

    Unhappy Code quicksort viết bằng C. Sai ở chỗ nào?

    Em đang tập viết code sắp xếp.
    Hôm nay học đến quicksort mà sao em code mãi vẫn không được.
    Đây là code của em, mong mọi người tìm hộ chỗ sai:
    Code:
    #include <stdio.h>
    int k[101];
    	void partition(int l,int h)
    {
    	int x,i,j,m;
    	x=k[(l+h)/2];
    	i=l;j=h;
    	while(i<=j)
    	{
    		while(k[i]<x) i++;
    		while(k[j]>x) j--;
    		if(i<=j)
    		{
    			if(i<j)
    			{
    				m=k[i];k[i]=k[j];k[j]=m;
    			}
    		i++;j--;
    		}
    	}
    	partition(l,j);partition(i,h);
    }
    main()
    {
    int n,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++) scanf("%d",&k[i]);
    partition(1,n);
    for(i=1;i<=n;i++) printf("%d ",k[i]);
    }

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

    mình hỏi này có phải sau khi chạy chương trình nó in ra đúng dãy ban đầu mà bạn nhập vào ko?tức là nó chưa đc sắp xếp ý!

  3. #3
    Ngày gia nhập
    04 2011
    Nơi ở
    Heaven
    Bài viết
    90

    if(l<j)partition(l,j);
    if(i<h)partition(i,h);
    I'll come back

  4. #4
    Ngày gia nhập
    05 2010
    Nơi ở
    Nha Trang, Khánh Hòa
    Bài viết
    103

    lý do là bạn chưa bỏ qua trường hợp l>=h (đầu>cuối thì sao mà sắp xếp đc???)
    Ngày mai ra sao cũng chẳng biết nữa
    Mà có ra sao thì cũng chả sao

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

    Cám ơn, mình đã sửa được rồi

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

  1. Giúp em Viết thuật toán quicksort sử dụng pivot là phần tử đầu tiên.
    Gửi bởi anhhung121234 trong diễn đàn Nhập môn lập trình Java
    Trả lời: 0
    Bài viết cuối: 13-11-2012, 08:38 PM
  2. Code Tìm Kiếm & Sắp Xếp (QuickSort, SelectionSort,...) phát sinh lỗi khi ghép các file source?
    Gửi bởi TamGa trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 17
    Bài viết cuối: 20-02-2012, 07:12 PM
  3. viết thuật toán Quicksort trên dslk vòng?
    Gửi bởi tiensjvn 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: 21-04-2011, 08:29 PM
  4. Viết code trên Form và viết code trong class có gì khác nhau.
    Gửi bởi hocCsharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 21-01-2011, 10:37 PM
  5. Code thuật toán quicksort trên C++. Làm sao in số chẵn trước, số lẻ sau?
    Gửi bởi trungthuan trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 8
    Bài viết cuối: 17-08-2010, 11:43 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