Go Back   VN-Zoom Forum > Chia sẻ kiến thức > Lập trình > Pascal | C/C++

 



Trả lời Gửi Ðề Tài Mới
 
Ðiều Chỉnh Xếp Bài
Old 01-07-2008, 10:18   #1
Búa Gỗ
 
rongden_2005_tv's Avatar
 
Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
Post mấy anh chị giúp em nghen(C++)

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
rongden_2005_tv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-07-2008, 17:20   #2
laai
Khách Viếng Thăm
 
laai's Avatar
 
Bài: n/a
VZD: 0 [Check]
Default

bạn nói cách sắp xếp trong Ngôn ngữ lập trình nào C++ hay là Pascal
  Trả Lời Với Trích Dẫn
Old 01-07-2008, 18:06   #3
Búa Gỗ
 
rongden_2005_tv's Avatar
 
Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
Default

là lập trình C ở trên tựa có để rồi mà
rongden_2005_tv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-07-2008, 18:15   #4
Búa Gỗ
 
herge's Avatar
 
Tham gia: Dec 2007
Bài: 16
VZD: 706
Điểm: 5/2 bài viết
Default

Trích:
rongden_2005_tv View Post
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!!!!!
thực ra có rất nhiều cách để sắp xếp mảng.ví dụ như:quick sort,merge sort , Bubblesort,heap sort...
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!
herge vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-07-2008, 19:03   #5
dst
Rìu Sắt Đôi
 
dst's Avatar
 
Tham gia: Mar 2008
Đến từ: Hà Nội
Bài: 271
VZD: 6.210
Điểm: 310/78 bài viết
Default

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.
dst vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Thành viên đã cám ơn bài viết này của dst:
rongden_2005_tv (09-07-2008)
Old 01-07-2008, 20:40   #6
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 292
VZD: 4.697
Điểm: 85/70 bài viết
Send a message via Yahoo to thienthan
Default

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)]);
}
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Thành viên đã cám ơn bài viết này của thienthan:
rongden_2005_tv (09-07-2008)
Old 09-07-2008, 21:58   #7
Gà Con
 
tucom's Avatar
 
Tham gia: Jan 2008
Bài: 5
VZD: 427
Điểm: 0/0 bài viết
Default

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é,
tucom vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-07-2008, 23:27   #8
Búa Gỗ
 
rongden_2005_tv's Avatar
 
Tham gia: Dec 2007
Bài: 12
VZD: 945
Điểm: 0/0 bài viết
Default

giup e chủ đề kế tiếp đi
rongden_2005_tv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-07-2008, 23:33   #9
Gà Con
 
Mer_S68_AMG's Avatar
 
Tham gia: Jul 2008
Bài: 6
VZD: 377
Điểm: 1/1 bài viết
Default

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
Mer_S68_AMG vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời Gửi Ðề Tài Mới

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
Bạn không thể gửi chủ đề mới
Bạn không thể gửi trả lời
Bạn không thể gửi file đính kèm
Bạn không thể tự sửa bài viết của bạn

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt
Chuyển đến


Múi giờ GMT +7. Hiện tại là 16:50.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Từ điển được cung cấp bởi VDict.com - Hosting được tài trợ bởi Rao vặt 123