viết chương trình tìm số lớn thứ hai trong mảng X trên C – Page 2

Quote Được gửi bởi megaownage
View Post

Được gửi bởi

1. thuật toán so với số thứ nhất chưa tối ưu bởi vi phải đi qua phần else. Nên so với số thứ hai bởi vì nếu không đạt thì cho qua luôn

if (a[i] > mx2) { // tìm được một số lớn
if (a[i] < mx1) mx2 = a[i]; // số này xen giữa 2 maxima
else if (a[i] != mx1) { mx2 = mx1; mx1 = a[i]; } // số này lớn hơn mx hiện tại
}
2. sau khi duyệt mảng xong, cần phải có code xét lại xem có sự hiện hữu của số lớn thứ 2 không (vd nếu mảng chỉ toàn 1 trị thì không có số lớn thứ 2)