연결리스트는 데이터를 저장하는 자료 구조 중에 하나로써 연결리스트는 아래의 구성 요소를 가지고 있다
각각의 노드는 데이터와 포인터를 가지고 있다 기본적인 연결리스트에서 노드의 포인터는 다음 노드를 가리키고 이런 방식으로 처음 노드 부터 마지막 노드 까지 연결되어 있다
이 구조를 그림으로 그려 보면 아래와 같다
연결 리스트의 처음 부분의 삽입하는 연산이다
// 의사 코드
function insert_first(head,newNode){
//newNode의 포인터를 head의 포인터가 가지고 있는 값을 할당
//head의 포인터에 newNode를 할당
//return head
}
원하는 위치에 데이터를 삽입할 수 있는 함수
// 의사 코드
function insert(head,newNode,position){
//beforeNode = position이전 노드를 search함수를 이용해서 찾아낸다
//newNode의 포인터를 beforeNode의 포인터가 가지고 있는 값을 할당
//beforeNode의 포인터에 newNode를 할당
//return head
}
데이터가 있는 위치를 탐색하는 함수
// 의사 코드
function search(head,data){
//tempPonint=head
//만약 data가 tempPoint가 가진 데이터와 같다면 return tempPoint
//아니면 tempPoint=tempPoint.tempPoint
}
원하는 위치의 데이터를 삭제하는 함수
// 의사 코드
function delete(head,data){
//데이터의 위치를 search함수를 이용해서 찾는다
//해당 위치의 이전 노드의 포인터에 제거 노드의 다음 노드를 할당한다
//제거노드를 삭제한다
}