SearchToRemove와 RemoveNode가 분리되어야 할 필요가 있을까요?
RemoveNode를 직접 먼저 구현한 후 강의를 듣게 되었는데요,
저는 RemoveNode 안에 Search하는 코드를 통합해서 짰는데 SearchToRemove가 RemoveNode를 실행시키기 위해서만 필요하다면 굳이 분리를 해야 할까 하는 의문이 들었습니다.
하나의 함수는 하나의 동작만 실행해야 해서 분리가 된 것일까요? 아니면 SearchToRemove가 나중에도 사용이 될 가능성이 있어서 분리된 것일까요?
제가 작성한 코드를 첨부합니다.
void RemoveNode(const char* pszName)
{
USERDATA* pTmp = g_pHeadNode;
USERDATA* previousNode = NULL;
bool isFound = false;
// 노드 찾기
while (pTmp != NULL)
{
if (strcmp(pTmp->name, pszName) == 0)
{
isFound = true;
break;
}
previousNode = pTmp;
pTmp = pTmp->pNext;
}
// 노드 찾기 실패
if (isFound == false)
{
printf("\"%s\" : Not Found, remove failed.\n", pszName);
return;
}
// 헤드인 경우
if (g_pHeadNode == pTmp)
{
g_pHeadNode = pTmp->pNext;
free(pTmp);
printf("\"%s\" : Found, remove successed.\n", pszName);
return;
}
// 헤드가 아닌경우
previousNode->pNext = pTmp->pNext;
free(pTmp);
printf("\"%s\" : Found, remove successed\n", pszName);
}
답변 1
05_adtFileIO 개정이력에 대한 질문
0
42
2
마지막 열의 노드를 삭제하였을때 읽기 엑세스 위반 발생 건
0
61
2
첫번째 루프에서 최소값을 못찾았는데 계속 진행하는 이유가 무엇인가요?
0
46
1
[질문]: [섹션4] -> [2중 연결 리스트로 전환] -> [21:30]
0
129
2
인덱스정렬 강의, 04_ListAndIndex질문드립니다.
0
125
1
예제는 어디서 다운로드 받을 수 있나요?
0
178
2
04_MultiIndex 예제에서 질문이 있습니다
0
120
1
헤드노드에 관해..
0
231
3
AddNewNode 함수 구현시 질문입니다.
0
160
2
Event Loop
0
191
1
인덱스정렬 강의, 04_ListAndIndex질문드립니다.
0
192
1
CPU의 다른 이름 Machine 강의 질의
0
273
4
스택의 POP코드 질문드립니다.
0
259
1
adtFileIO 예제코드관련 질문 있습니다.
0
170
1
ADT강의 관련 질문 있습니다.
0
231
2
RangeSearch002 의 singlelist.c 파일 중 질문 있습니다.
0
192
1
섹션4 자료 자체와 정렬된 인덱스 분리 내용 질문
0
252
2
자료 자체와 정렬된 인덱스 분리 강의에서 질문
0
234
2
구현 연습에 대한 개인적 의문
0
279
1
05_adtFileIO 프로젝트 문의
0
318
2
CLI UI적용 강의에서 질문드립니다.
0
333
1
05_adtFileIO 프로젝트 문의
0
257
1
자료 자체와 정렬된 인덱스 분리 (인덱스 정렬) - 인덱스 범위 코드에 버그가 있어서 질문 드립니다.
0
304
2
강의자료 관련
0
203
1





