![]() |
|
|
#1 |
|
Búa Gỗ
![]() Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
|
Mấy bạn co biết cách sắp xếp từ bé đến lớn or từ lớn đến bé trong mãng 1 chiều,hình như có 4 cách chỉ e hết 4 cách đi.em cảm ơn nhiều.thanks so much!!!! hình như có tên là buble sort, quick sort, còn 2 tên nữa mà e quên zồi.trong C++ đóa.Giúp em nghen!!!!!
thay đổi nội dung bởi: rongden_2005_tv, 01-07-2008 lúc 18:09 |
|
|
|
|
|
#3 |
|
Búa Gỗ
![]() Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
|
là lập trình C ở trên tựa có để rồi mà
|
|
|
|
|
|
#4 | |
|
Búa Gỗ
![]() Tham gia: Dec 2007
Bài: 16
VZD: 706
Điểm: 5/2 bài viết
|
Trích:
bạn cứ lên mạng search là có hết thôi
__________________
Càng lên cao ,tầm mắt càng xa ,chân trời càng rộng!
|
|
|
|
|
|
|
#5 |
|
Rìu Sắt Đôi
![]() Tham gia: Mar 2008
Đến từ: Hà Nội
Bài: 271
VZD: 6.210
Điểm: 310/78 bài viết
|
Mình chỉ xin giới thiệu Buble sort thôi:
VD bạn có một mảng a có n phần tử double và muốn sắp xếp từ nhỏ đến lớn thì ta làm như sau: int i,j; double temp; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } Nguyên tắc:kiểm tra từng cặp phần tử liên tiếp trong mảng, nếu giá trị phần tử bên trái lớn hơn giá trị phần tử bên phải, tráo đổi 2 giá trị->sau khi duyệt hết mảng các giá trị nhỏ sẽ nổi lên đầu như bong bóng. |
|
|
|
| Thành viên đã cám ơn bài viết này của dst: | rongden_2005_tv (09-07-2008) |
|
|
#6 |
|
Rìu Sắt Đôi
![]() |
Bạn có thể tham khảo thêm các bộ sách giải thuật co bản đều nhắc đến các thuật toán đó.
Cụ thể bạn có thể dùng bộ sách này: Mỗi tội ví dụ bằng pascal thôi (mà mình thấy hầu như sách giải thuật toàn lấy pascal ra làm ví dụ thôi). Buble sort phải có select sort (Độ phức tạp như nhau nhưng thực tế hiệu quả hơn) - Hai thuật toán kém nhất. Code:
//Hàm swap(x, y) là hàm đổi chỗ hai phần tử có sẵn trong thư viện iostream của C++
int a[], n;//n là số phần tử
int min(int start) //overload min
{
int tmp = start;
for (int i=start; i < n ; i++) if a[tmp] > a[i] then tmp = i;
return tmp;
}
void selectsort()
{
for (int i = 0; i < n: i++) swap(a[i], a[min(i)]);
}
|
|
|
|
| Thành viên đã cám ơn bài viết này của thienthan: | rongden_2005_tv (09-07-2008) |
|
|
#7 |
|
Gà Con
![]() Tham gia: Jan 2008
Bài: 5
VZD: 427
Điểm: 0/0 bài viết
|
Hay lắm. mà làm ơn các pro chỉ cho mình các trích phần tử trong chuổi như: lèt right hay mid vậy đó, mình sắp làm đề tài thi C++ rồi, làm ơn hé, có thể gửi qua mail dùm mình cũng được cám ơn nhiều hé,
|
|
|
|
|
|
#8 |
|
Búa Gỗ
![]() Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
|
giup e chủ đề kế tiếp đi
|
|
|
|
|
|
#9 |
|
Gà Con
![]() Tham gia: Jul 2008
Bài: 6
VZD: 377
Điểm: 1/1 bài viết
|
Trính như thế nào mới đc chứ bạn.Left,right,mid thì rõ rồi nhưng trích bao nhiêu,đ/k làm sao phải nói thì mới code hoặc đưa ra thuật toán cho bạn dc.
__________________
Nhà NGOẠI đã xong giờ chuyển sang nhà NỘI |
|
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|