Danh sách liên kết đơn

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 à :cry: . Đau mắt lắm.

Bạn làm rối quá :smiley:
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;
}
3 Likes

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 :joy:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?