Lỗi khi tìm kiếm phẩn tử trong circularly linked list

 //Searching for an item in the circularly linked list

ListElem *find(ListElem *L,int val){

  ListElem *tr;
  int f=0;
  if(L!=NULL){

     if(L->data==val) return L;//The target item is the first item 
    else{ //search the next item
         tr=L->next;
         while(tr!=L){
              if(tr->data==val) {f=1;break;} //found the tartget=>stop searching
              else tr=tr->next;//otherwise continue searching
         }
}

  if(f!=0) return tr; //return found item
  else return NULL;//otherwise return NULL
}
  else return NULL; //empty list
}

Nếu trong trường hợp tìm được 2 kiểu data giống nhau thì làm như nào.

NGuồn: worldbestlearningcenter.com

Mô tả rõ hơn vấn đề đi bạn ơi.

Anh comment nhầm rồi :3

Vậy là đúng rồi còn gì. “2 kiểu data giống nhau” là thế quái nào cơ chứ.

ý mình là tr->data==val nếu tìm được thì break; nhưng nếu mà trong struct có 2 thằng data giống nhau thì chỉ tìm được 1 thằng. Mới đầu ngĩ vậy nhưng bây giờ ngĩ thông rồi. thanks all.

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