CS61b lab4打卡

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--;
        }
      }

运行结果:

时间: 2024-12-29 22:25:50

CS61b lab4打卡的相关文章

lab4打卡

由于pj1工程量有点大一时半会做不完,就先趁热打铁把双向链表的lab4做完了..PART1: 1 public void insertFront(int i) { 2 DListNode1 front1=new DListNode1(i); 3 if(size==0) { 4 head=front1; 5 tail=head; 6 } 7 else { 8 front1.next=head; 9 head.prev=front1; 10 head=front1; 11 } 12 size++;

CS61b homework2 打卡

主要考点:String类matches和split方法的运用,正则表达式的运用. 判断闰年,计算天数等算法.代码如下: import java.io.*; public class Date { private int month; private int day; private int year; public Date(int month, int day, int year) { if(!isValidDate(month,day,year)) System.exit(0); this.

2017.7.24-2017.7.30

本周任务: 1.lecture10.11.12.13 2.lab4&hw4 3.pj1尽量 7.24 lecture10完成 lab4打卡: DList1: /* DList1.java */ /** * A DList1 is a mutable doubly-linked list. (No sentinel, not * circularly linked.) */ public class DList1 { /** * head references the first node. *

CSAPP 六个重要实验 lab4

CSAPP && lab4 实验材料: http://download.csdn.net/detail/u011368821/7926305 实验指导书: http://download.csdn.net/detail/u011368821/7926323 实验环境: Linux 3.13.11 Ubuntu 14.0 Part I: An Experiment in C and Java Q&A Answer these questions: 1.  What are the s

iOS开发——项目实战总结&UITableView性能优化与卡顿问题

UITableView性能优化与卡顿问题 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆积很多cell.如果重用cell,为cell创建一个ID 每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell 2.避免cell的重新布局 cell的布局填充等操作 比较耗时,一般创建时就布局好 如可以将cell单独放到一个自定义类,初始化时就布局好

制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统

转自网络,供学习记录使用,红色部分是我实验时,这篇文章和网站稍有出入的地方. 目的:制作SD(8G)卡Linux镜像,使得ZC706开发板可以从SD卡启动进入Linux系统 在http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/quickstart/zynq(姑且把这个链接成为链接1吧)链接中找到 图1 点击绿色字体的链接,下载镜像原始文件.这里有不同时期的版本,本说明中选择 图2 下载的原始文件为:2014_R2-

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

Cocos2d-x山西推倒胡+扣点房卡麻将下载架设教程

1.数据库还原修改后台数据库jeefwtwo 表:sys_user8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92 密码(123456)修改游戏数据库 QPPlatformDB表:DataBaseInfo  SQL的地址端口账号密码表:GameRoomInfo  修改服务器的机器标示 PS,搭建的源码必须完整,本文测试源码来自 Cocos2d-x山西推倒胡+扣点房卡麻将maliwl.com 2.执行脚本每个脚本都要执

【BZOJ4942】[Noi2017]整数 线段树+DFS(卡过)

[BZOJ4942][Noi2017]整数 题目描述去uoj 题解:如果只有加法,那么直接暴力即可...(因为1的数量最多nlogn个) 先考虑加法,比较显然的做法就是将A二进制分解成log位,然后依次更新这log位,如果最高位依然有进位,那么找到最高位后面的第一个0,将中间的所有1变成0,那个0变成1.这个显然要用到线段树,但是复杂度是nlog2n的,肯定过不去. 于是我在考场上yy了一下,这log位是连续的,我们每次都要花费log的时间去修改一个岂不是很浪费?我们可以先在线段树上找到这段区间