728x90

노드삭제 2

[ 자료구조 ] linked list 노드 삭제, 연결 리스트를 이용한 스택 큐 구현

[ 자료구조 ] linked list 노드 삭제, 연결 리스트를 이용한 스택 큐 구현 노드 삭제 - ptr : 리스트 첫 노드를 가리키는 포인터 변수 - node : 삭제될 노드를 가리키는 변수 - trail : 삭제될 노드의 바로 앞 노드를 가리키는 변수 삭제될 노드가 첫 노드일 경우 - 삭제 후 ptr의 값이 바뀐다. 따라서 ptr의 포인터 변수로 주소를 받아 ptr의 값을 변경해야 한다. void delete(list_ptr * ptr, list_ptr trail, list_ptr node) { if(node==*ptr) *ptr = node->link; else trail->link = node->link; free(node); } // 리스트의 첫 노드, 삭제될 노드의 앞 노드, 삭제될 노드 v..

CS/자료구조 2021.10.30

[ 자료구조 ] linked list 연결 리스트 , k값을 가진 노드 삭제 삽입 함수

[ 자료구조 ] linked list 연결 리스트 , k값을 가진 노드 삭제 삽입 함수 리스트는 아무 곳에서나 삽입, 삭제가 일어날 수 있다. k값을 가진 노드 삭제 함수 데이터 값이 k인 노드를 찾는다. before : k값을 가진 노드의 앞 노드이다. temp : k값을 가진 노드이다. 이 알고리즘에서 찾는 삭제할 노드이다. before의 링크를 k값을 가지는 링크로 바꾼다. 그리고 반복문을 빠져나온다. #include #include struct node { int data; struct node * link; }; typedef struct node list_node; typedef list_node * list_ptr; void delete(list_ptr p, int k) { list_ptr ..

CS/자료구조 2021.10.29
728x90