728x90
link
/*
* For your reference:
*
* SinglyLinkedListNode {
* int data;
* SinglyLinkedListNode* next;
* };
*
*/
SinglyLinkedListNode* insertNodeAtPosition(SinglyLinkedListNode* head, int data, int position) {
SinglyLinkedListNode *node = malloc(sizeof(SinglyLinkedListNode));
node->data = data;
node->next=NULL;
SinglyLinkedListNode *tmp = head;
for(int i=0;i<position-1;i++){
tmp = tmp->next;
}
node->next = tmp->next;
tmp->next=node;
return head;
}
position의 위치에 data를 삽입해야하는 것이다. data라는 값을 노드의 data로 가지는 SinglyLinkedListNode 포인터 타입의 node를 생성해 저장한다. position의 위치에 원하는 값을 삽입하기 위해서는 총 position 만큼 head에서 움직여야 한다. 따라서, for문의 조건에 주의하여 작성해야한다.
SMALL
'Programming > C C++' 카테고리의 다른 글
[DS] Delete a Node (0) | 2020.09.20 |
---|---|
Migratory Birds (0) | 2020.09.20 |
Divisible Sum Pairs (0) | 2020.09.13 |
[DS] Insert a node at the head of a linked list (0) | 2020.08.30 |
Birthday Chocolate (0) | 2020.08.30 |