01/10/2018, 08:24
Sắp xếp chẵn lẻ chỉ dùng 1 vòng for
e có bai tap la sap xep chẵn trước lẻ sau nhưng chỉ dung 1 lệnh for…pro nao giúp e với
Bài liên quan
e có bai tap la sap xep chẵn trước lẻ sau nhưng chỉ dung 1 lệnh for…pro nao giúp e với
Có
if
không đấy bạn.dung bao nhiu if kung dk]
Thuật toán đơn giản nhất nhé:
Giả sử Input là mảng số đầu vào
Tạo mảng Chan có kích thước bằng Input, và mảng Le cũng bằng mảng Chan, và 2 biến m,n =0 thể hiện số phần tử thực sự đã có trong 2 mảng
Chạy vòng for từ đầu đến cuối Input, chẵn cho vào Chan, lẻ cho vào Le
Cho các phần tử từ 0 đến m-1 ở mảng Le vào các phần tử từ n đến n+m-1 ở mảng Chan, và hiện mảng Chan làm kết quả
a có thể cho e xem abn code dk ko
Người ta bảo 1 for mà cái này chắc 2 rồi
2thi e lam ra roi…cô kêu la nhiều if sẽ dk
Output: [2, 6, 34, 234, 56, 2, 1, 5, 665, 35, 57]
M code bằng python nhé , ko biết bạn hỏi định làm = ngôn ngữ gì
e dang hoc bên ngon ngu java a
À nhầm nhầm
Có lẽ làm kiểu fake này vậy
Dùng 1
string Output=""
, chạy vòng for từ đầu đến cuối Input, nếu là chẵn thìOutput = Input[i] + " " + Output
, lẻ thìOutput += " " + Input[i]
rồi show Output ra =))a co the cho e cai ban code ko…e còn yếu lắm
Hì hì, lúc đó mình định dùng list nhưng mà mình tưởng bạn làm C không có list nên mình nói v thôi. Mình làm C# thì ghép 2 List không cần for, nhưng có lẽ method ghép List có sẵn thì cũng bao gồm for
ngồi miết mak ko nghi ra dk cái thuật toán…đành nhờ maasy pro
Mình chỉ biết C#, bạn xem tạm =))
Theo mình thì bạn chạy vòng lặp,cho điều kiện if chia hết cho 2 thì add số i vào mảng chẵn,không chia hết cho 2 thì add i vào mảng lẻ.Sau đó in mảng chẳn trước rồi đến mảng lẻ
khỏi cần mảng phụ cũng được, gặp chẵn thì swap nó lên đầu, gặp lẻ thì swap nó ra sau đít.
Phân hoạch của QuickSort đây mà
Ngoài ra có cả phân hoạch 3 phần.
đúng rồi, cần gì mảng phụ
for(int i=0;i<n-1;i++){
if(a[i]%2!=0){
tam=a[i];
a[i]=a[j];
a[j]=tam;
j–;
i–;
}
nó bị sai j ạ…mak nó ko ra…
có lúc phai giữ i…minh lam nhu trên á