링크드 리스트
포인터를 공부하면서 만든 링크드 리스트
-원형 양 방향 리스트.
먼저 구조체를 선언한다.
데이터 추가
헤드 = 시작 노드, 테일 = 끝 노드
새로운 노드를 하나 만들고 초기화해주고, 첫 번째 생성이라면 헤드가 널인 상태이기 때문에 첫 번째 노드는 헤드에 저장된다.
두 번째부터는 헤드가 널이 아니므로 else에서 Node포인터를 생성하여 헤드를 받아서 앞으로 이동한다.
while에서 앞으로 이동하는 명령을 내린다.
pTamp가 가르키는 pNext가 널이 아니면 pTamp에 pTamp->pNext를 넣어라. 맨 끝에 도달하면 pTamp->pNext는 널이기 때문에 while을 빠저나와 pTamp->pNext에 새로만든 노드를 넣어 한 칸 더 연결된다.
pNode->pBack에 이전노드를 연결해준다.
자동적으로 마지막으로 만든 노드는 테일에 넣어준다.
쓸모 없는 코드 지우고 작성하기
데이터 선택 삭제
헤드와 테일의 노드가 삭제할 데이터인지 먼저 검색하고 아니라면 두 번째 노드부터 탐색을 시작한다.
- void* 리스트 클래스
C4996 애러
'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
둘중 하나 선언하면 해결됨.
#pragma warning(disable: 4996) /* Disable deprecation */
#pragma warning(default: 4996) /* Restore default */