1. 程式人生 > >CS61b lab4打卡

CS61b lab4打卡

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打卡