2011-05-04 3 views
0

은 내가 할 숙제 문제가있다. 나는 또한이 기능을 사용해야한다. 문제가 무엇을 묻고 있는지 이해할 수 없습니다. 누군가가 이해하기 쉬운 용어로 나에게이 문제를 설명 할 수 있습니까?삽입 함수

#include "list.h" 

LINK lookup(DATA c, LINK head) 
{ 

if (head == NULL) 
    return NULL; 
else if (c == head -> d) 
     return head; 
    else 
     return (lookup(c, head -> next)); 
} 

답변

0

질문은 목록에 지정된 항목을 찾고이 위치 다음에 목록에 새 항목을 삽입하는 기능을 작성하도록 요청합니다.

그래서

List = {Item1, Item2, Item3, Item4} 

함수 (예를 들어) List.Insert(Item2, Item5)

List = {Item1, Item2, Item5, Item3, Item4} 
0

발생한다 목록 링크 된 목록을에게 주어진. 이리스트는 LINK 구조체들로 구성되어 있습니다. (정확히 말하면 LINK 유형은 실제 노드 구조체에 대한 포인터가 될 typedef입니다. 우리 앞에 정의가 없지만 각각 LINK 구조체가 있습니다. DATA 구조체뿐만 아니라 일반적인 연결 포인터 (들).

당신의 작업은 걸릴 머리 -의 목록 LINKDATA 구조체와 당신이있는 첫 번째 LINK를 찾을 때까지 목록을 검색하는 것입니다 DATA과 동일하게 입력 한 다음 바로 앞에 새 요소를 입력하십시오. LINK

0

연결된 목록에서 DATA c을 찾으십시오. lookup()이 기능을 수행합니다. c 다음에 DATA 항목을 cDATA 항목 사이에 삽입하십시오. c이 목록에있는 마지막 DATA 항목 인 경우 새 DATA 항목을 최종 DATA 항목으로 추가해야합니다. 목록이 비어 있으면 (즉, lookup()NULL을 반환하는 경우) 새로운 DATA 항목이 목록에 하나만 포함되어 DATA 항목으로 저장되어야합니다.

list.h의 관련 부분을 게시하면 링크 된 목록이 어떻게 보이는지 이해할 수 있습니다.

전체 lookup() 기능을 게시하는 것이 좋습니다.

+0

은'검색에서 누락 유일() '함수는 폐쇄'}'이다. –