연결 목록은 동적 메모리 할당을 사용합니다. 즉, 그에 따라 확장 및 축소됩니다. 노드 모음입니다.
노드는 데이터와 링크의 두 부분으로 구성됩니다. 아래에 설명되어 있습니다.
연결된 목록에 대한 작업
연결 목록에는 다음과 같은 세 가지 유형의 작업이 있습니다. -
- 삽입
- 삭제
- 횡단
삭제
- 노드를 식별합니다.
- 노드 할당 해제가 목록을 연결되지 않은 구성 요소로 만들지 않도록 링크를 조정합니다.
- 삭제할 요소를 반환/표시합니다.
- 메모리 할당을 해제합니다.
머리 요소 삭제
C 프로그래밍 언어에서 헤드 요소를 삭제하려면 아래 단계를 따르세요.
1. void del_head() 2. { 3. int x; Node *temp; 4. if(Head==NULL) 5. { 6. printf("List is empty"); 7. return; 8. } 9. x=Head->ele; 10. temp=Head; 11. if(Head==Tail) 12. Head=Tail=NULL: 13. Else 14. Head=Head->next; 15. printf("Deleted element %d",x); 16. free(temp); 17. }
여기,
4단계 - 목록이 비어 있는지 확인합니다.
9단계 - 삭제할 요소를 읽습니다.
10단계 - 임시 포인터로 헤드 참조
11단계 - 마지막 삭제를 확인합니다.
14단계 - 헤드 포인터를 목록의 다음 요소로 이동합니다.
15단계 - 삭제할 요소를 표시합니다.
16단계 - 메모리 할당을 해제합니다.
꼬리 요소 삭제
C 프로그래밍 언어에서 꼬리 요소를 삭제하려면 아래 단계를 따르세요.
1. void del_tail() 2. { 3. int x; 4. Node *temp; 5. if(Head==NULL) 6. { 7. printf("List is empty"); 8. return; 9. } 10. temp=Head; 11. while(temp->next !=Tail) 12. temp=temp->next; 13. x=Tail->ele; 14. Tail=temp; 15. Temp=temp->next 16. Tail->next=NULL; 17. printf("Deleted element %d",x); 18. free(temp); 19. }
여기,
4단계 - 목록이 비어 있는지 확인합니다.
10, 11, 12단계 - 임시 포인터를 목록의 마지막 노드를 제외한 한 노드로 이동합니다.
13단계 - 삭제할 꼬리 요소를 읽습니다.
14단계 - 꼬리 포인터를 마지막 하나의 노드로 이동합니다.
15단계 - 임시 포인터를 목록의 마지막 노드로 이동합니다.
16단계 - 꼬리 노드에서 임시 노드로의 참조를 제거합니다.
17단계 - 삭제할 요소를 표시합니다.
18단계 - 메모리 할당을 해제합니다.