단순연결리스트 삭제연산 질문
이리온
질문 제목 :단순연결리스트 삭제연산 질문질문 내용 :
단순연결리스트에서 삭제연산을 위한 함수인데요
void remove_node(listnode **phead, listnode *p, listnode *removed)
{
if( p == null )
*phead = (*phead)-link;
else
p-link = removed-link;
free(removed);
}
인자값으로 헤드포인터, 선행노드포인터, 삭제할 노드 포인터
이렇게 3개가 필요한데 다른건 알겠는데
선행노드포인터는 어떻게 구하죠??
-
니지
이렇게 했는데
만약 노드가 하나만 있을경우
이전 노드가 존재하지 않아서 오류가 나요 ㅠㅠ -
놀리기
소스의 일부분만 봐서는 어떻게 작동되는지 모르겠습니다만..
선행노드및 삭제할 노드포인터를 만약 데이터값을 검색해서 받는식이라면
검색할때 Node를 검색되기 이전 노드로 놔두고
내용검사를 Node-link-data로 검사하시고 넘겨줄때는 (head,Node,Node-link) 이런식으로 넘겨주면 됩니다... -
물티슈
저렇게 한다고 선행노드가 나오는건 아니지 않나요?
-
지은
포인터의 포인터랑 연결리스트에 대해 어떤식으로 알고리즘이 되고 그런걸 공부하시다보면
아무래도 자연스레 이해가 되지 않을까 싶네요.. 저도 그래서 ㅎㅎ; -
찬바리
저도 지금 연결리스트를 배우고 공부중에 있어서 맞을지는 잘 모르겠습니다만...
메인에서
ListNode *tmp가 선언이 되어있다고 가정해 드리겠습니다.
소스 코드보니 제가 공부하는 책이랑 거의 똑같아서 말이죠..
remove_node(&tmp, NULL, tmp); 이런식이 되겠지요 ~ -
똥덩어리
자세히좀 설명해주시면 안될까요?ㅠㅠㅠㅠ
-
소심한여자
ListNode *tmp 가 선언되어있다고 가정한다면
선행노트 포인터를 구하시려면 &tmp로 넘겨주시면 될껍니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |