cho em hỏi hàm timmax này sai ở đâu ạ
Em post code lên chứ em post hình thế này để giết nhau à . Đau mắt lắm.
Bạn làm rối quá chỉ cần set max=NULL, rồi nếu max=NULL hoặc có next lớn hơn thì cập nhật tốt hơn là dc.
dssv * timmax(dssv*& L){ dssv *max=NULL,*next=L; while(next!=NULL){ if(max==NULL or next->ptu.diem>max->ptu.diem) max=next; next=next->next; } return max; }
mình nghĩ là nên xét max bằng phần tử đầu tiên (phead) rồi sau nó cho nó chạy hết danh sách thỏa điều kiện thì xét bằng max không thì cứ tăng lên
Như thế này ổn chưa mọi người.
Node* TimMax(Node* head){ Node* Max = head; for(Node* i = head; i != NULL; i = i -> next){ if(i -> diem > Max -> diem) Max = i; } return Max; }
if head != NULL thì bắt đầu làm những công việc trên. tránh trường hợp ds rỗng
Nguyễn Thành Nam
0 chủ đề
0 bài viết
Em post code lên chứ em post hình thế này để giết nhau à . Đau mắt lắm.
Bạn làm rối quá
chỉ cần set max=NULL, rồi nếu max=NULL hoặc có next lớn hơn thì cập nhật tốt hơn là dc.
mình nghĩ là nên xét max bằng phần tử đầu tiên (phead) rồi sau nó cho nó chạy hết danh sách thỏa điều kiện thì xét bằng max không thì cứ tăng lên
Như thế này ổn chưa mọi người.
if head != NULL thì bắt đầu làm những công việc trên. tránh trường hợp ds rỗng