프로그래밍

자유 공간 리스트 알고리즘 (단순 연결 리스트)

Dilrong 2013. 5. 20. 10:01

1.자유 공간 리스트에서의 노드 할당 알고리즘

getNode()

if(Free = null) then

underflow();

new<-Free;

Free<-Free.link;

return new;

end getNode()



2.자유 공간 리스트의 노드 반환 알고리즘

returnNode(old)

old.link<-Free;

Free<-old;

end returnNode()



3.리스트의 첫 번째 노드 삽입 알고리즘

insertFirstNode(L, x)

new<-getNode();

new.data<-x;

new.link<-L;

L<-new;

end insertFirstNode()



4.리스트의 중간 노드 삽입 알고리즘

insertMiddleNode(L, pre, x)

new<-getNode();

new.data<-x;

if(L=null) than {

L<-new;

new.link<-null

}

else{

new.link<-pre.link

pre.link<-new;

}

end insertMiddleNode



5.리스트의 마지막 노드 삽입 알고리즘

insertLastNode(L, x)

new<-getNode();

new.data<-x;

new.link<-null;

if(L = null) then {

L<-new;

return;

}

temp<-L:

while(temp.link =/ null) do

temp<-temp.link;

temp.link<-new;

end insertLastNode()



6.리스트의 노드 삭제 알고리즘

deleteNode(L, pre)

if(L=null) then error;

else {

old<-pre.link;

if(old=null) then return;

pre.link<-old.link;

}

returnNode(old);

end deletNode()



7.리스트 L에서 x노드 탐색 알고리즘

searchNode(L, x)

temp<-L;

while (temp =/ null) do {

if (temp.data = x) then return temp;

temp <- temp.link;

}

return temp;

end searchNode()

반응형