CS61b lab4打卡
阿新 • • 發佈:2017-07-12
class list com tno log remove lis head .com
DnodeList1:構造DoubleList
insert及remove的代碼:
public void insertFront(int i) { if(size==0){ head=new DListNode1(i); tail=head; size=1; } else if(size==1){ head=new DListNode1(i); head.next=tail; tail.prev=head; size=2; } else{ DListNode1 node=new DListNode1(i); node.next=head; head.prev=node; head=node; size++; } } public void removeFront() { if(size==0) return; else{ head=head.next; size--; } }
運行結果:
DNodeList2: 構造circularList,這個在lab3中寫過,重寫一遍就當復習了吧:
public void insertFront(int i) { DListNode2 node=new DListNode2(i); node.next=head.next; node.prev=head; head.next=node; if(size==0) head.prev=node; size++; } public void removeFront() { if(size==0) return; else if(size==1){ head.next=head; head.prev=head; size=0; } else{ head.next.next.prev=head; head.next=head.next.next; size--; } }
運行結果:
CS61b lab4打卡