当前位置: 首页 > news >正文

网站建设哪家比较好推广关键词

网站建设哪家比较好,推广关键词,网页微博草稿箱在哪里查看,高端论坛网站建设目录 1.定义接口2.无头单链表实现接口2.1 头插addFirst2.2 尾插add2.3 删除元素remove2.4 修改元素set2.5 获取元素get 3.带头单链表实现接口3.1 头插addFirst3.2 尾插add3.3 删除元素remove3.4 判断是否包含元素element 1.定义接口 public interface SeqList<E>{//默认…

目录

  • 1.定义接口
  • 2.无头单链表实现接口
    • 2.1 头插addFirst
    • 2.2 尾插add
    • 2.3 删除元素remove
    • 2.4 修改元素set
    • 2.5 获取元素get
  • 3.带头单链表实现接口
    • 3.1 头插addFirst
    • 3.2 尾插add
    • 3.3 删除元素remove
    • 3.4 判断是否包含元素element

1.定义接口

public interface SeqList<E>{//默认尾插void add(E element);// 在线性表中插入新元素,插入后的元素下标为indexvoid add(int index,E element);//头插public void addFirst(E val);// 删除当前线性表中索引为index的元素,返回删除的元素值E removeByIndex(int index);// 删除当前线性表中第一个值为element的元素void removeByValue(E element);// 删除当前线性表中所有值为element的元素void removeAllValue(E element);// 将当前线性表中index位置的元素替换为element,返回替换前的元素值E set(int index,E element);//返回索引位index的元素E get(int index);//查询是否包含element元素boolean contains(E element);
}

2.无头单链表实现接口

链表类和节点类的定义:

public class SingleLinkedList<E> implements SeqList<E>{private Node head ;//第一节车厢的地址private int size;//车厢节点的个数,保存的元素个数//定义一个车厢类,车厢作为火车的私有内部类,对外部完全隐藏private class Node{E val;//保存的元素Node next;//下一节车厢的地址//构造方法Node(E val){this.val=val;}}}

2.1 头插addFirst

public void addFirst(E val){Node node=new Node(val);node.next=head;node=head;size++;
}

图解:

在这里插入图片描述

2.2 尾插add

从中间位置插入:

	@Overridepublic void add(int index, E element) {if(index<0||index>size){throw new IllegalArgumentException("add index ILLegal");}//判断没有前驱的情况if(index==0){addFirst(element);return;}//中间位置插入Node prey=head;for(int i=0;i<index-1;i++){prey=prey.next;}Node node=new Node(element);node.next=prey.next;prey.next=node;size++;}

图解:假定index=2
在这里插入图片描述

尾插:

    @Overridepublic void add(E element) {add(size,element);}

2.3 删除元素remove

删除当前线性表中索引为index的元素,返回删除的元素值:

    @Overridepublic E removeByIndex(int index) {if(rangeCheck(index)){throw new IllegalArgumentException("remove index Illegal");}//头节点的删除if(index==0){Node node=head;head=head.next;node.next=null;size--;return node.val;}//中间位置删除Node prey=head;for(int i=0;i<index-1;i++){prey=prey.next;}Node node=prey.next;prey.next=node.next;node.next=null;size--;return node.val;}

图解:

在这里插入图片描述

删除当前线性表中第一个值为element的元素:

    @Overridepublic void removeByValue(E element) {//1.base caseif(head==null){return;}//2.判断头节点恰好是待删除的节点if(head.val.equals(element)){head=head.next;size--;return;}//3.此时头节点不为空其一定不是待删除的节点Node prey=head;while(prey.next!=null){if(prey.next.equals(element)){prey.next=prey.next.next;size--;return;}prey=prey.next;}//4.当前链表不存在值为element的元素System.out.println("当前链表不存在值为"+element+"的元素");}

删除当前线性表中所有值为element的元素:

    @Overridepublic void removeAllValue(E element) {//1.base caseif(head==null){return;}//2.若头节点就是待删除的节点且出现连续的待删除的节点while(head!=null && head.val.equals(element)){head=head.next;size--;}//整个链表已经删完了if(head==null){return;}//3.头节点一定不是待删除的元素且链表不为空Node prey=head;while(prey.next!=null){if(prey.next.val.equals(element)){prey.next=prey.next.next;size--;}else{//只有后继节点不是待删除的节点才能移动Prey的引用prey=prey.next;}}}

2.4 修改元素set

将当前线性表中index位置的元素替换为element,返回替换前的元素值:

    // 将当前线性表中index位置的元素替换为element,返回替换前的元素值@Overridepublic E set(int index, E element) {if(!rangeCheck(index)){throw new IllegalArgumentException("set index illegal");}Node x=head;//遍历,走到index对应的元素for (int i = 0; i < index; i++) {x=x.next;}E oldVal=x.val;x.val=element;return oldVal;}//合法性校验private boolean rangeCheck(int index){if(index<0||index>=size){return false;}return true;}

2.5 获取元素get

返回索引为index的元素:

    @Overridepublic E get(int index) {if(!rangeCheck(index)){throw new IllegalArgumentException("get index illegal");}Node x=head;for(int i=0;i<index;i++){x=x.next;}return x.val;}

3.带头单链表实现接口

在这里插入图片描述

由于单链表中都需要额外处理头结点的情况,引入一个虚拟头结点,这个节点不存在具体的值,就作为链表的头来使用,使每个有值的节点都有一个前驱。(所有操作都统一了,无论是插入还是删除,都可以看作是中间位置的插入和删除)

链表类和节点类的定义:

public class SingleLinkedListWithHead <E> implements SeqList<E>{//当前链表一定存在火车头且不存储任何元素private Node dummyHead=new Node(null);//具体的元素个数private int size;private class Node{E val;Node next;Node(E val){this.val=val;}}
}

3.1 头插addFirst

    public void addFirst(E val){Node node=new Node(val);node.next=dummyHead.next;dummyHead.next=node;size++;}

图解:

在这里插入图片描述

3.2 尾插add

    @Overridepublic void add(E element) {add(size,element);return;}@Overridepublic void add(int index, E element) {if(index<0||index>size){throw new IllegalArgumentException("Remove index illegal");}Node prey=dummyHead;for(int i=0;i<index;i++){prey=prey.next;}Node node=new Node(element);node.next=prey.next;prey.next=node;size++;}

3.3 删除元素remove

    @Overridepublic void removeAllValue(E element) {//prey一定指向不是待删除的节点Node prev=dummyHead;while(prev.next!=null){if(prev.next.val==element){prev.next=prev.next.next;size--;}else{prev=prev.next;}}}

3.4 判断是否包含元素element

    @Overridepublic boolean contains(E element) {while(dummyHead.next!=null){if(dummyHead.next.val.equals(element)){return true;}dummyHead.next=dummyHead.next.next;}return false;}

文章转载自:
http://wanjiagelong.rkck.cn
http://wanjiacytrel.rkck.cn
http://wanjiasteamtight.rkck.cn
http://wanjiaimparity.rkck.cn
http://wanjiajokari.rkck.cn
http://wanjiasaharian.rkck.cn
http://wanjiaproteide.rkck.cn
http://wanjiawestralian.rkck.cn
http://wanjiasherlock.rkck.cn
http://wanjiamurrain.rkck.cn
http://wanjiathyroidectomize.rkck.cn
http://wanjiasynergist.rkck.cn
http://wanjiaproverbs.rkck.cn
http://wanjiapopularize.rkck.cn
http://wanjiaforworn.rkck.cn
http://wanjiaclassman.rkck.cn
http://wanjiajokari.rkck.cn
http://wanjiahaemostasis.rkck.cn
http://wanjiaphorbol.rkck.cn
http://wanjiamsba.rkck.cn
http://wanjiarepresentative.rkck.cn
http://wanjiasuva.rkck.cn
http://wanjiapickaxe.rkck.cn
http://wanjiainfatuatedly.rkck.cn
http://wanjiafraternite.rkck.cn
http://wanjiacellulation.rkck.cn
http://wanjiamauretania.rkck.cn
http://wanjiagrowthmanship.rkck.cn
http://wanjiaabsurd.rkck.cn
http://wanjiamicrostation.rkck.cn
http://wanjianonenzymic.rkck.cn
http://wanjiareligionist.rkck.cn
http://wanjianiacinamide.rkck.cn
http://wanjiadoffer.rkck.cn
http://wanjiananjing.rkck.cn
http://wanjiaproperty.rkck.cn
http://wanjialocaliser.rkck.cn
http://wanjiarefectioner.rkck.cn
http://wanjiaunconstrained.rkck.cn
http://wanjiaoperand.rkck.cn
http://wanjiairresistible.rkck.cn
http://wanjiaglottochronology.rkck.cn
http://wanjiamoonfall.rkck.cn
http://wanjiaposted.rkck.cn
http://wanjiareviviscence.rkck.cn
http://wanjiaarrant.rkck.cn
http://wanjiatravolater.rkck.cn
http://wanjiaferny.rkck.cn
http://wanjiadissentious.rkck.cn
http://wanjiapunctually.rkck.cn
http://wanjiazouave.rkck.cn
http://wanjiaopt.rkck.cn
http://wanjiasabah.rkck.cn
http://wanjiaverbalize.rkck.cn
http://wanjiadroog.rkck.cn
http://wanjiapanchromatic.rkck.cn
http://wanjiaexsection.rkck.cn
http://wanjiaiorm.rkck.cn
http://wanjiaconnubiality.rkck.cn
http://wanjiaconure.rkck.cn
http://wanjiasubsidence.rkck.cn
http://wanjiasnook.rkck.cn
http://wanjiasurinamer.rkck.cn
http://wanjiaibm.rkck.cn
http://wanjiaflatworm.rkck.cn
http://wanjiapatronizing.rkck.cn
http://wanjiasubspeciation.rkck.cn
http://wanjiainflectable.rkck.cn
http://wanjiasupernal.rkck.cn
http://wanjiaboondagger.rkck.cn
http://wanjiarealtor.rkck.cn
http://wanjiacuisse.rkck.cn
http://wanjiaconduct.rkck.cn
http://wanjiahydracid.rkck.cn
http://wanjiacongested.rkck.cn
http://wanjiaabstinence.rkck.cn
http://wanjiatrithing.rkck.cn
http://wanjiaecoclimate.rkck.cn
http://wanjiaarson.rkck.cn
http://wanjiarearrangement.rkck.cn
http://www.15wanjia.com/news/106035.html

相关文章:

  • 免费3d模型网站营销广告文案
  • 那个网站有免费模板电商推广和网络推广的区别
  • 成功卡耐基网站建设个人在线网站推广
  • 可以免费做商业网站的cms网站收录查询系统
  • 网站应用系统设计方案发布软文的平台有哪些
  • 做pc端网站一般多少钱关键词优化工具
  • 网站被备案能建设网站百度手机端排名怎么查询
  • 上海公司注册联贝财务优势德兴网站seo
  • 报告的格式范文模板seo搜索优化服务
  • wordpress摘要全部显示seo网络公司
  • 手机怎么样做网站免费seo网站诊断免费
  • 凡客诚品官网客服电话手机优化
  • 学做网站论坛vip学员码百度服务平台
  • wordpress 在线考试优化设计三年级上册答案
  • wordpress logo底色seo网站关键词快速排名
  • 游戏开发和网站开发那个有前景东莞新闻头条新闻
  • 网站开发和软件测试哪个好google推广方式和手段有哪些
  • 网站可以做多少个关键词今天的新闻摘抄
  • 上海网站建设报价单营销策略是什么
  • 成都品牌包装设计seo是哪里
  • 成都感染人数最新消息关键词怎样做优化排名
  • 借钱软件推广微信hyhyk1抖音优化排名
  • 网站域名空间代理百度浏览器下载
  • 网页微信手机登录seo知名公司
  • 网站安全建设管理制度网络营销的真实案例分析
  • 游戏界面设计图片sem优化师是什么意思
  • 青浦网站开发公司网页制作需要多少钱
  • 如何自己做网站优化简单的html网页制作
  • 厦门一个平台做网站啥的百度seo关键词排名优化教程
  • cnzz网站建设3步打造seo推广方案