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

做海报在哪个网站可以找素材网站开发结束语

做海报在哪个网站可以找素材,网站开发结束语,巨鹿网站建设,WordPress代码实现标签页面ArrayList 1 ) 概述 在Java中#xff0c;ArrayList是一个非常常用且强大的数据结构#xff0c;它提供了动态数组的功能能够方便地添加、删除和访问元素。在TypeScript中#xff0c;虽然并没有内置的ArrayList类型但我们可以通过类与接口来模拟实现ArrayList的功能 2 …ArrayList 1 ) 概述 在Java中ArrayList是一个非常常用且强大的数据结构它提供了动态数组的功能能够方便地添加、删除和访问元素。在TypeScript中虽然并没有内置的ArrayList类型但我们可以通过类与接口来模拟实现ArrayList的功能 2 实现 interface ListT {size: number;add(item: T): void;get(index: number): T | undefined;remove(item: T): boolean;show(): void; }class ArrayListT implements ListT {public array: T[];private index: number 0;public size: number 0;constructor() {this.array [];}// 添加元素重载 add 方法add(item: T): void;add(item: any): void;add(item: number): void;add(item: string): void;add(item: any): void {this.array.push(item);this.size;this.index this.array.length; // 更新索引为数组最后一个元素的索引1}// 获取元素get(index: number): T | undefined {return this.array[index];}// 删除元素重载 remove 方法remove(item: T): boolean;remove(item: any): boolean;remove(item: number): boolean;remove(item: string): boolean;remove(item: any): boolean {const index this.array.indexOf(item);if (index ! -1) {this.array.splice(index, 1);this.size--;return true;}return false;}// 显示全部数据show(): void {console.log(this.array);}// 更新元素这里并没有在接口中定义作为额外功能添加update(index: number, newValue: T): boolean {if (index 0 index this.size) {this.array[index] newValue;return true;}return false;} }const arrayList new ArrayListstring();// 添加元素 arrayList.add(Hello); arrayList.add(World); arrayList.add(42); // 这将不会报错因为 TypeScript 中的泛型在运行时会被擦除并且 add 方法被重载以接受 any 类型// 显示元素 arrayList.show(); // 输出: [ Hello, World, 42 ]// 获取元素 console.log(arrayList.get(0)); // 输出: Hello// 更新元素 arrayList.update(1, TypeScript); arrayList.show(); // 输出: [ Hello, TypeScript, 42 ]// 删除元素 console.log(arrayList.remove(TypeScript)); // 输出: true arrayList.show(); // 输出: [ Hello, 42 ]// 获取数组大小 console.log(arrayList.size); // 输出: 23 说明 在基础List类型中我们定义了如下方法和属性 add(item: T): 添加一个元素到ArrayList中get(index: number): 根据索引获取元素size: 存储ArrayList中元素的数量remove(item: T): 删除一个元素show(): 显示ArrayList中的所有元素 ArrayList 这个类继承List接口并实现其所有的方法 这里面实现了方法的多态和泛型 1 多态Polymorphism的主要优势在于提高了代码的可维护性和扩展性通过使用多态我们可以编写更加灵活和可重用的代码因为我们可以定义通用的接口或方法而不必关心具体实现细节2 ) 泛型Generics是TypeScript中一种强大的工具它允许我们在不丢失类型信息的前提下编写可重用的组件这些组件可以与多种不同的类型一起工作而不仅仅是一个类型泛型的主要作用是提供类型安全同时确保代码的可复用性通过使用泛型我们可以在保证类型安全的同时让函数与多种类型一起工作 总结来说 泛型和多态是TypeScript中两个强大的特性它们分别通过提供类型安全和允许统一操作不同数据类型来增强代码的可复用性和灵活性在实际开发中结合使用泛型和多态可以帮助我们编写更加健壮、可维护和可扩展的代码 LinkedList 1 ) 概述 在TypeScript中实现一个双向链表Doubly Linked List相比于ArrayList会更加复杂因为我们需要维护每个节点的两个指针一个指向前一个节点另一个指向下一个节点同时我们还要确保List接口的所有方法都能得到正确实现在数据结构中链表是一种动态分配内存空间的线性数据结构由一系列的节点组成每个节点通常包含两部分 一部分用于存储数据另一部分用于存储指向下一个节点的指针 而双向链表顾名思义就是每个节点不仅包含指向下一个节点的指针还包含指向前一个节点的指针, 这使得双向链表在插入和删除节点时更为灵活 2 实现 interface ListT {add(element: T): void;get(index: number): T | undefined;size: number;remove(element: T): boolean; }class NT {value: T;next: NT | null;prev: NT | null;constructor(value: T, next: NT | null null, prev: NT | null null) {this.value value;this.next next;this.prev prev;} }class LinkedListT implements ListT {private head: NT | null null;private tail: NT | null null;public size 0;add(element: T): void {const newNode new N(element, null, this.tail);if (this.tail) {this.tail.next newNode;} else {this.head newNode;}this.tail newNode;this.size;}get(index: number): T | undefined {if (index 0 || index this.size) {return undefined;}let current this.head;for (let i 0; i index; i) {current current!.next;}return current?.value;}remove(element: T): boolean {let current this.head;while (current) {if (current.value element) {if (current.prev) {current.prev.next current.next;} else {this.head current.next;}if (current.next) {current.next.prev current.prev;} else {this.tail current.prev;}this.size--;return true;}current current.next;}return false;} }// 使用示例 const linkedList new LinkedListnumber(); linkedList.add(1); linkedList.add(2); linkedList.add(3); console.log(linkedList.get(1)); // 输出: 2 console.log(linkedList.size); // 输出: 3 linkedList.remove(2); console.log(linkedList.get(1)); // 输出: 33 说明 首先我们定义了一个 List 接口它规定了链表需要实现的基本方法 添加元素add获取指定位置的元素get获取链表大小size以及删除元素remove这个接口为后续的链表实现提供了统一的规范 在 LinkedList 的实现中节点被定义为一个名为 N 的内部类 每个节点包含三个属性value 用于存储数据next 指向下一个节点prev 指向前一个节点这样的结构使得链表能够双向遍历从而更容易实现某些操作如删除节点 LinkedList 类实现了 List 接口并包含了维护链表状态的重要属性 head 指向链表的第一个节点tail 指向链表的最后一个节点size 记录链表的大小 添加元素add 方法在链表尾部添加一个新节点 首先创建一个新的节点并设置其 next 为 nullprev 为当前的尾节点然后更新尾节点为新节点并如果原链表为空即 head 和 tail 都为 null则将 head 也指向新节点, 最后链表的大小加一 获取元素get 方法通过遍历链表找到指定位置的元素 它首先检查索引是否合法然后从 head 开始遍历直到找到对应位置的节点或遍历完整个链表这个过程的时间复杂度是 O(n)其中 n 是链表的大小 删除元素remove 方法遍历链表查找并删除指定的元素 当找到匹配的节点时它更新相邻节点的指针以跳过该节点并调整 head 或 tail 如果被删除的是头节点或尾节点。最后链表的大小减一 总结 双向链表 LinkedList 的实现简单而高效通过双向指针实现了灵活的节点操作它的主要优势在于插入和删除节点时的性能尤其是当需要在特定位置进行这些操作时然而链表在随机访问元素方面的性能不如数组因为需要从链表头部开始遍历以找到指定位置的元素在实际应用中链表通常用于需要频繁插入和删除元素的场景如实现缓存、LRU最近最少使用算法等而数组则更适用于需要频繁访问元素的场景如搜索、排序等因此在选择使用链表还是数组时需要根据具体的应用场景和需求进行权衡
文章转载自:
http://www.morning.dbsch.cn.gov.cn.dbsch.cn
http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn
http://www.morning.ryrpq.cn.gov.cn.ryrpq.cn
http://www.morning.rnwt.cn.gov.cn.rnwt.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn
http://www.morning.fgtls.cn.gov.cn.fgtls.cn
http://www.morning.rfjmy.cn.gov.cn.rfjmy.cn
http://www.morning.hmqwn.cn.gov.cn.hmqwn.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.bssjz.cn.gov.cn.bssjz.cn
http://www.morning.hlfnh.cn.gov.cn.hlfnh.cn
http://www.morning.wxgd.cn.gov.cn.wxgd.cn
http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn
http://www.morning.mztyh.cn.gov.cn.mztyh.cn
http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn
http://www.morning.tgtsg.cn.gov.cn.tgtsg.cn
http://www.morning.spghj.cn.gov.cn.spghj.cn
http://www.morning.qwlml.cn.gov.cn.qwlml.cn
http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn
http://www.morning.rdlong.com.gov.cn.rdlong.com
http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn
http://www.morning.lqznq.cn.gov.cn.lqznq.cn
http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn
http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn
http://www.morning.whothehellami.com.gov.cn.whothehellami.com
http://www.morning.kwqcy.cn.gov.cn.kwqcy.cn
http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn
http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn
http://www.morning.tpnch.cn.gov.cn.tpnch.cn
http://www.morning.lxbml.cn.gov.cn.lxbml.cn
http://www.morning.lngyd.cn.gov.cn.lngyd.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.fbbpj.cn.gov.cn.fbbpj.cn
http://www.morning.yjqkk.cn.gov.cn.yjqkk.cn
http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn
http://www.morning.xnzmc.cn.gov.cn.xnzmc.cn
http://www.morning.pswqx.cn.gov.cn.pswqx.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.qbccg.cn.gov.cn.qbccg.cn
http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn
http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn
http://www.morning.xnltz.cn.gov.cn.xnltz.cn
http://www.morning.bplqh.cn.gov.cn.bplqh.cn
http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn
http://www.morning.cnfjs.cn.gov.cn.cnfjs.cn
http://www.morning.cttti.com.gov.cn.cttti.com
http://www.morning.lstmg.cn.gov.cn.lstmg.cn
http://www.morning.tjwfk.cn.gov.cn.tjwfk.cn
http://www.morning.wphzr.cn.gov.cn.wphzr.cn
http://www.morning.qfkdt.cn.gov.cn.qfkdt.cn
http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.mxmdd.cn.gov.cn.mxmdd.cn
http://www.morning.bnfsw.cn.gov.cn.bnfsw.cn
http://www.morning.chtnr.cn.gov.cn.chtnr.cn
http://www.morning.dysgr.cn.gov.cn.dysgr.cn
http://www.morning.slfkt.cn.gov.cn.slfkt.cn
http://www.morning.lmhwm.cn.gov.cn.lmhwm.cn
http://www.morning.gkgr.cn.gov.cn.gkgr.cn
http://www.morning.trsfm.cn.gov.cn.trsfm.cn
http://www.morning.lswgs.cn.gov.cn.lswgs.cn
http://www.morning.stflb.cn.gov.cn.stflb.cn
http://www.morning.lmtbl.cn.gov.cn.lmtbl.cn
http://www.morning.tzlfc.cn.gov.cn.tzlfc.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.ldspj.cn.gov.cn.ldspj.cn
http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn
http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn
http://www.morning.xhgcr.cn.gov.cn.xhgcr.cn
http://www.morning.tfei69.cn.gov.cn.tfei69.cn
http://www.morning.sjbty.cn.gov.cn.sjbty.cn
http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn
http://www.morning.gltmz.cn.gov.cn.gltmz.cn
http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn
http://www.morning.mwzt.cn.gov.cn.mwzt.cn
http://www.morning.muzishu.com.gov.cn.muzishu.com
http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn
http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn
http://www.morning.chrbp.cn.gov.cn.chrbp.cn
http://www.tj-hxxt.cn/news/264342.html

相关文章:

  • 找做网站签证个人网站备案填写
  • 台州椒江区热销企业网站搭建html教程w3school
  • 备案网站名称与实际网站名称不一致站群推广有哪些方式
  • 有什么教做甜品的网站单页推广网站模版
  • 网站利用微信拉取用户做登录页网站建设排名优化
  • 公司网站备案需要什么登录官方网站
  • v2017网站开发手机网站设计图尺寸
  • 做网站赚金币网络备案信息查询
  • 曹县网站开发网站流量一直做不起来
  • 手机浏览器网站开发嘉峪关市建设局建管科资质网站
  • 临沂科技网站建设六安网站建设招商
  • 北京网站设计公司youx成都柚米科技15淘宝上找网站建设好吗
  • 西安专业网站开发公司网站建设杭州
  • 产品如何做网站推广wordpress上传图片x
  • 九台区建设银行网站济南WordPress培训
  • 企业服务类型有哪些塘沽网站建设优化
  • 如何自己建设淘宝网站设计公司怎么找
  • 网站建设汇卓涿州做网站公司
  • 莆田网站建设设计上海网站开发公
  • 网站建设技术是什么宁夏住房和城乡建设部网站
  • 重庆奉节网站建设公司哪里有哪个公司的软件系统开发
  • 网站怎么申请备案常用软件开发平台
  • 建网站的流程和费用加油卡系统搭建
  • 有哪些网站是用php做的东莞市专注网站建设平台
  • 如何给网站增加图标给小说网站做编辑
  • 网文网站开发方案装饰公司网站模板下载
  • 个人域名备案做企业网站泰安做网站哪里好
  • 网站建设公司哪个好呀金融网站建设个人网站备案名称大全
  • 灵犀科技 高端网站建设平台网站建设的公司
  • 没有营业执照怎么样做百度企业网站建筑工程网课代字幕