Hàm sắp xếp trong mảng C

Mọi người cho mình hỏi hàm sắp xếp của mình sai ở đâu vậy ?
http://codepad.org/Ex8YOgpR

Vòng j ngược chiều với vòng i là toạch ngay :smiley: (Bubble sort).

Vậy vì sao Bubble lại đúng? Bubble cơ bản (hai vòng) là mỗi vòng lôi được một số lớn nhất ra ngoài. Tại sao lại làm như vậy được? Hai số liền kề lớn bé gì thì swap xong một bên luôn là số lớn hơn (cách làm có thể xem là ngược với selection).

Cải tiến hơn thì không swap là sắp xếp xong. Hay nhất là ghi nhận chỗ nào đã bị swap đầu tiên :smiley:

1 Like

Cái swap mình nghĩ đối của nó phải là con trỏ chứ

1 Like

Đúng vậy :smiley: chứ viết kiểu tham trị thì compiler có thể bỏ trống luôn :smiley: vì có làm được gì đâu.

Tham biến là truyền một biến vào hàm - vậy mới sửa được.

2 Likes

swap là gì vậy ?? hoán đổi à bạn

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?