단순 연결리스트 탐색 삭제
WatchOut
질문 제목 : 단순 연결리스트 탐색 삭제소스 해석좀 부탁드립니다...질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
#define true 1
#define false 0
typedef struct node node;
typedef node* nodeptr;
typedef struct node {
int data;
nodeptr link;
}node;
구조체 정의구여 이중포인터를 방지하기위해 nodeptr을 만들었습니다.
nodeptr*list는 헤드를 가지고온것이구요 key는 다른 함수 rand에서 발생시킨 숫자를 가지고 오는 정수입니다.
한줄한줄 설명좀 부탁드릴게요.... 단순히 책에서 삭제하는것과는 많이 다르네요....
void deletenode(nodeptr *list, int key)
//key 값을 포함 노드를 리스트로부터 삭제
{
nodeptr ptr, prev, node = null;
int first = true;
ptr = prev = *list; // ptr, prev를 리스트의 첫번째 노드를 가리키도록 초기화
while (ptr != null) {
if (ptr-data == key) {
if (first == true) { // 첫번째 노드가 삭제 대상이면
*list = ptr-link;
node = ptr;
} else {
prev-link = ptr-link; // 첫번째가 아닌 노드가 삭제 대상이면
node = ptr;
}
break;
}
prev = ptr;// 다음번째 노드 탐색
ptr = ptr-link;
if (first == true)
first = false;
}
if (node != null) {
printf(%d를 포함한 노드 삭제\n, node-data);
free(node);
} else
printf(삭제 실패: %d를 포함한 노드 존재하지 않음\n, key);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |