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

【Java基础】023 -- 集合进阶(List、Set、泛型、树)

目录

一、集合的体系结构

1、单列集合(Collection)

二、Collection集合

1、Collection常见方法

①、代码实现:

②、contains方法重写equals方法示例:(idea可自动重写)

2、Collection的遍历方式(3种)

①、迭代器遍历

②、增强for遍历

③、Lambda表达式遍历

3、小结

三、List集合

1、List集合特有的方法(操作索引的4个方法)

2、List集合的遍历方式(5种)

①、示例代码

②、小结

四、数据结构(常见有8种)

1、什么是数据结构呢?

2、数据结构概述

3、栈(后进先出,先进后出)

4、队列(先进先出,后进后出)

5、栈与队列小结

6、数组

7、链表(与数组相对)

小结

五、ArrayList集合

1、ArrayList集合底层原理

2、ArrayList源码分析

六、LinkedList集合

1、LinkedList特有方法

2、LinkedList源码分析

3、迭代器的底层源码

七、泛型深入

1、没有泛型时的集合如何存储数据?

2、泛型的好处

3、知识点:Java中的泛型是伪泛型

4、泛型的细节

5、泛型可以在很多地方进行定义

①、泛型类

②、泛型方法

③、泛型接口

6、泛型的继承和通配符

①、泛型的继承示例代码

②、泛型的通配符练习

7、小结

八、树(Tree)

1、集合起名的艺术

2、树的基本结构

3、二叉树

4、二叉查找树

①、添加节点

②、查找节点

③、二叉查找树的弊端

5、二叉树的遍历方式

①、前序遍历(根、左、右)

②、中序遍历(左、根、右)

③、后序遍历(左、右、根)

④、层序遍历(一层一层遍历)

⑤、小结

6、平衡二叉树

①、平衡二叉树的旋转机制

②、左旋

③、右旋

④、平衡二叉树需要旋转的四种情况(左左、左右、右右、右左)

⑤、小结

7、树的演变

8、红黑树(一种特殊的二叉查找树,而不是平衡二叉树)【★★】

①、红黑树的红黑规则

②、红黑树添加节点的规则

③、小结(能看懂即可)

九、Set系列集合

1、练习:利用Set系列的集合,添加字符串,并使用多种方式遍历

①、示例代码

②、小结

2、HashSet底层原理

①、哈希值

②、对象的哈希值特点

3、HashSet JDK8 以前的底层原理

①、HashSet完整创建过程

②、HashSet创建的细节

4、HashSet的三个问题

①、HashSet为什么存和取的顺序不一样?

②、HashSet为什么没有索引?

③、HashSet是利用什么机制保证数据去重的?

④、问题回答

5、练习:利用HashSet集合去除重复元素

十、LinkedHashSet

1、LinkedHashSet底层原理

①、示例代码:(LinkedHashSet可以保证数据的存储顺序)

②、小结

十一、TreeSet(自动排序)

1、TreeSet的基本应用

①、TreeSet的特点

②、练习:利用TreeSet存储整数并进行排序

2、TreeSet集合默认的规则

①、TreeSet对象排序练习题

②、示例代码理解

3、TreeSet的两种比较方式

①、方式一:JavaBean类实现Comparable接口指定比较规则

②、方式二:比较器排序,创建TreeSet对象时,传递比较器Comparator指定规则

③、扩展:TreeSet对象排序练习题

4、小结

5、Set集合源码分析

①、HashSet

②、LinkedHashSet

③、TreeSet

十二、集合的使用场景


一、集合的体系结构

1、单列集合(Collection)

二、Collection集合

1、Collection常见方法

①、代码实现:

②、contains方法重写equals方法示例:(idea可自动重写)

2、Collection的遍历方式(3种)

①、迭代器遍历

示例:

循环遍历:

示例代码:(不依赖索引,而是通过指针移动的方式)

迭代器书写的小细节:

示例代码:

小结:

②、增强for遍历

示例代码:

增强for的细节:

③、Lambda表达式遍历

示例代码:

Lambda表达式形式:

3、小结

三、List集合

1、List集合特有的方法(操作索引的4个方法)

示例代码:

add方法:

remove方法:

List删除的小细节:

set & get方法:

2、List集合的遍历方式(5种)

①、示例代码

1、迭代器遍历:

2、增强for:

3、Lambda表达式

4、普通for循环

5、列表迭代器(ListIterator,继承于Iterator)

但迭代器默认指向0索引,想要使用previous方法需要先移动到后面

②、小结

四、数据结构(常见有8种)

1、什么是数据结构呢?

数据结构就是计算机存储、组织数据的方式

2、数据结构概述

3、栈(后进先出,先进后出)

栈内存:

4、队列(先进先出,后进后出)

5、栈与队列小结

6、数组

7、链表(与数组相对)

双向链表可以提高查询效率:

小结

五、ArrayList集合

1、ArrayList集合底层原理

2、ArrayList源码分析

idea快捷键:Alt+7:列出方法大纲

添加的数据长度不超过10:

一次添加多个,超过10,但不超过15:

六、LinkedList集合

1、LinkedList特有方法

2、LinkedList源码分析

3、迭代器的底层源码

modCount:集合变化的次数

expectedModCount:创建对象时,传递过来的次数

七、泛型深入

1、没有泛型时的集合如何存储数据?

没有泛型时,集合可以添加任意类型的值,但其弊端也很明显,不能访问子类特有的功能

泛型规范修改:

2、泛型的好处

3、知识点:Java中的泛型是伪泛型

4、泛型的细节

5、泛型可以在很多地方进行定义

①、泛型类

示例代码:

转成Integer:

②、泛型方法

练习:

代码实现:

可变参数改进代码:(即 类型… 变量名)

测试类:

③、泛型接口

方式1:实现类给出具体方法

方式2:实现类延续泛型,创建对象时再确定

6、泛型的继承和通配符

①、泛型的继承示例代码

②、泛型的通配符练习

练习:

示例代码:

7、小结

八、树(Tree)

1、集合起名的艺术

2、树的基本结构

一个树节点的基本结构:

3、二叉树

但数据没什么规则

4、二叉查找树

①、添加节点

②、查找节点

③、二叉查找树的弊端

为了避免长短腿的出现,就出现了平衡二叉树

5、二叉树的遍历方式

①、前序遍历(根、左、右)

②、中序遍历(左、根、右)

③、后序遍历(左、右、根)

④、层序遍历(一层一层遍历)

⑤、小结

6、平衡二叉树

①、平衡二叉树的旋转机制

②、左旋

当根节点是支点时:

③、右旋

普通情况:

当根节点是支点时:

④、平衡二叉树需要旋转的四种情况(左左、左右、右右、右左)

左左:(一次右旋)

左右:(先局部左旋,再整体右旋)

右右:(一次左旋)

右左:(先局部右旋,再整体左旋)

⑤、小结

1、在平衡二叉树中,如何添加节点?

A:大的存右边,小的存左边,相等的不存

2、如何查找单个节点?

A:从根节点开始查找,然后逐个比较

3、为什么要旋转?

A:只有平衡二叉树和红黑树才需要旋转;旋转的原因就是在添加一个节点后,导致这个树不平衡了,那么就需要通过旋转让它重新平衡

4、旋转的触发时机?

A:树不平衡了

5、左左是什么意思?

6、左右是什么意思?

7、右右是什么意思?

8、右左是什么意思?

7、树的演变

8、红黑树(一种特殊的二叉查找树,而不是平衡二叉树)【★★】

平衡二叉树也有一些弊端:在添加节点是时候,由于旋转次数太多,会导致添加节点的时间浪费。

①、红黑树的红黑规则

简单路径:只能往前,不能回头,eg:13 -> 8 -> 1 -> Nil

Nil本身实际上是没有什么含义的,就是在第5条的规则上,要用到它来统计个数的

②、红黑树添加节点的规则

如果默认节点颜色为黑色,那么添加三个节点,需要调整两次

如果默认节点颜色为红色,那么添加三个节点,只需要调整一次

添加节点示例:

③、小结(能看懂即可)

九、Set系列集合

无序:存取顺序不一致

不重复:可以去除重复

无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素

1、练习:利用Set系列的集合,添加字符串,并使用多种方式遍历

①、示例代码

多种方式遍历:

②、小结

2、HashSet底层原理

①、哈希值

②、对象的哈希值特点

因为地址不同

示例代码:

重写hashCode()方法后:

哈希碰撞情况:

3、HashSet JDK8 以前的底层原理

①、HashSet完整创建过程

当我们在创建一个HashSet对象时,在底层会创建一个默认长度为16,默认加载因子为0.75的数组:

②、HashSet创建的细节

4、HashSet的三个问题

①、HashSet为什么存和取的顺序不一样?

HashSet在遍历的时候,是从数组的0索引开始,一条链表,一条链表的查询

但是黄色小球就是第一个被存入的吗?不见得吧!

②、HashSet为什么没有索引?

主要原因是因为HashSet不够纯粹,底层是由数组+链表+红黑树构成的,所以不好规定以谁为索引

③、HashSet是利用什么机制保证数据去重的?

切记:如果HashSet中存储的是自定义对象,那么一定要重写HashCode和equals方法

④、问题回答

5、练习:利用HashSet集合去除重复元素

示例代码:

在JavaBean中重写hashCode和equals方法

十、LinkedHashSet

1、LinkedHashSet底层原理

①、示例代码:(LinkedHashSet可以保证数据的存储顺序)

②、小结

十一、TreeSet(自动排序)

1、TreeSet的基本应用

①、TreeSet的特点

②、练习:利用TreeSet存储整数并进行排序

直接打印:

遍历集合:

2、TreeSet集合默认的规则

字符串比较:

①、TreeSet对象排序练习题

示例代码:

JavaBean:Student.java

测试类:

运行程序结构报错了:因为JavaBean是我们自己写的,并没有给它添加一个默认的比较规则,所以TreeSet也不知道应该怎么比

②、示例代码理解

图解:

代码理解:

3、TreeSet的两种比较方式

①、方式一:JavaBean类实现Comparable接口指定比较规则

②、方式二:比较器排序,创建TreeSet对象时,传递比较器Comparator指定规则

示例:

因为是String类型,源码中已经定义了排序规则:即以ASCII表升序排序

所以我们就需要使用比较器,重写比较方法

改成lambda表达式:

③、扩展:TreeSet对象排序练习题

idea快捷键:

  • Ctrl + D :向下复制一行

示例代码:

JavaBean:Student.java

测试类:

默认排序情况:JavaBean实现Comparable接口,重现CompareTo方法

课堂练习:

在重写方法中加入System.out.println();语句即可

4、小结

如果方式一和方式二同时存在,那么实际上我们以方式二为准

5、Set集合源码分析

①、HashSet

HashSet其实是new了一个HashMap

②、LinkedHashSet

LinkedHashSet其实是new了一个LinkedHashMap

③、TreeSet

new了一个TreeMap

十二、集合的使用场景

相关文章:

【Java基础】023 -- 集合进阶(List、Set、泛型、树)

目录 一、集合的体系结构 1、单列集合(Collection) 二、Collection集合 1、Collection常见方法 ①、代码实现: ②、contains方法重写equals方法示例:(idea可自动重写) 2、Collection的遍历方式(…...

面试题整理01-集合详解

文章目录前言一、集合的整体结构单列集合接口:双列集合接口:二、单列集合详解1.List接口1.1 ArrayList集合特点:扩容:添加元素遍历1.2 LinkedList集合特点:添加元素:2.Set接口2.1 HashSet集合特点&#xff…...

数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

ArcGIS网络分析之发布网络分析服务(二)

在上一篇中讲述了如何构建网络分析数据集,本篇将讲解如何发布网络分析服务。本文将使用上一篇中建立的网络数据集,下载地址在上一篇博文的最后已给出。 之前我们已经实现了基于ArcMap中的网络分析,但是仅仅支持本地是万万不够的,这里我们的目的就是将我们建好的网络分析图…...

js实现元素样式切换的基本功能

需求&#xff1a;用户第一次点击某些元素&#xff0c;改变元素的某些样式&#xff0c;比如背景颜色&#xff0c;字体颜色。用户第二次点击某些元素&#xff0c;恢复之前的样式。.....思路&#xff1a;准备一定量的div盒子&#xff0c;并取相同的类名<div class"box&quo…...

java 策略模式 + 工厂模式 实例

一 前言 经常听说各种设计模式&#xff0c;知道理论&#xff0c;也知道应该使用&#xff0c;但具体怎么用&#xff0c;什么时候用&#xff0c;使用的优点一直比较模糊&#xff0c;今天写一个项目中经常用到的模式&#xff0c;来具体理解。项目中经常用到工厂模式或者策略模式&…...

本地生成动漫风格 AI 绘画 图像|Stable Diffusion WebUI 的安装和部署教程

Stable Diffusion WebUI 的安装和部署教程1. 简介2. Windows安装环境3. 运行4. 模型下载链接5. 其他资源1. 简介 先放一张WebUI的图片生成效果图&#xff0c;以给大家学习的动力 &#xff1a;&#xff09; 怎么样&#xff0c;有没有小小的心动&#xff1f;这里再补充一下&…...

华为OD机试 - 异常的打卡记录 | 备考思路,刷题要点,答疑 【新解法】

最近更新的博客 【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试…...

「机器学习笔记」之深度学习基础概念(基于Pytorch)

本文以 Pytorch 为线索&#xff0c;介绍人工智能和深度学习相关的一些术语、概念。 关于发展历史您也可以阅读深度学习神经网络之父 Jrgen Schmidhuber 所写的《Annotated History of Modern AI and Deep Learning&#xff08;现代人工智能和深度学习的注释版历史&#xff09;…...

概率和似然

在日常生活中&#xff0c;我们经常使用这些术语。但是在统计学和机器学习上下文中使用时&#xff0c;有一个本质的区别。本文将用理论和例子来解释概率和似然之间的关键区别。 概率与似然 假设在一场棒球比赛中&#xff0c;两队的队长都被召集到场上掷硬币。获胜的队长将根据掷…...

前期软件项目评估偏差,如何有效处理?

1、重新评估制定延期计划 需要对项目进行重新评估&#xff0c;将新的评估方案提交项目干系人会议&#xff0c;开会协商一致后按照新的讨论结果制定计划&#xff0c;并实施执行。 软件项目评估偏差 怎么办&#xff1a;重新评估制定延期计划2、申请加资源 如果项目客户要求严格&a…...

Xline v0.2.0: 一个用于元数据管理的分布式KV存储

Xline是什么&#xff1f;我们为什么要做Xline&#xff1f; Xline是一个基于Curp协议的&#xff0c;用于管理元数据的分布式KV存储。现有的分布式KV存储大多采用Raft共识协议&#xff0c;需要两次RTT才能完成一次请求。当部署在单个数据中心时&#xff0c;节点之间的延迟较低&a…...

CompletableFuture

一、一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。JDK5新增了Future接口,用于描述一个异步计算的结果。虽然Future以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get()的方式阻塞调…...

面试不到10分钟就被赶出来了,问的实在是太变态了...

干了两年外包&#xff0c;本来想出来正儿八经找个互联网公司上班&#xff0c;没想到算法死在另一家厂子。 自从加入这家外包公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到11月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资…...

【C++】类与对象 (四)初始化列表 static成员 友元 内部类 匿名对象 拷贝对象时的一些编译器优化

前言 本章就是我们C中类与对象的终章了&#xff0c;不过本章的难度不大&#xff0c;都是类中一些边边角角的知识&#xff0c;记忆理解就行了&#xff0c;相信经过这么长时间的学习类与对象&#xff0c;你对面向对象也有了更加深的理解&#xff0c;最后我们学习完边边角角的一些…...

04:进阶篇 - 编译 CTK

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在使用 CTK 之前,首先要进行编译。但要成功编译它,并不是一件很容易的事,这不仅取决于平台、Qt 的版本,也取决于编译器,以及所使用的 IDE。 平台(Linux、Windows)Qt 版本(4.x、5.x、6.x)编译器(MS…...

SQL73 返回所有价格在 3美元到 6美元之间的产品的名称和价格

描述有表Productsprod_idprod_nameprod_pricea0011egg3a0019sockets4b0019coffee15【问题】编写 SQL 语句&#xff0c;返回所有价格在 3美元到 6美元之间的产品的名称&#xff08;prod_name&#xff09;和价格&#xff08;prod_price&#xff09;&#xff0c;使用 AND操作符&am…...

【Linux 多线程互斥】如何保证锁的原子性(互斥的原理)

临界资源:可以被多个执行流&#xff08;线程或者叫轻量级进程&#xff09;同是访问的&#xff08;多个执行流共享的&#xff0c;比如&#xff1a;全局、堆等等&#xff09;&#xff1b;临界区&#xff1a;访问这些临界资源的代码&#xff1b;原子性&#xff1a;没有中间态&…...

Android 实现沉浸式全屏

前言 本文总结 Android 实现沉浸式全屏的实现方式。 实现沉浸式全屏 在一些需要全屏显示的场景下,比如玩游戏、看横屏视频的时候,内容全屏,占满窗口的体验会让用户更加沉浸到对内容的消费中,带来好的用户体验。 沉浸式显示具体来说就是如状态栏和导航栏部分的显示效果调…...

数据分析与SAS学习笔记6

数据集整理&#xff1a; 目的&#xff1a;对数据集中的数据进行预处理&#xff0c;使数据更适合统计分析过程对数据格式的要求&#xff1b; 常见整理要求&#xff1a; 1&#xff09;建立新的变量&#xff0c;衍生变量&#xff0c;删除某些原变量&#xff1b; 2&#xff09;…...

自动化完成1000个用户的登录并获取token并生成tokens.txt文件

自动化完成1000个用户的登录并获取token并生成tokens.txt文件 写作背景 在我学习使用redis实现秒杀功能的过程中&#xff0c;在编写完秒杀代码后&#xff0c;需要使用Jmeter实际测试1000个用户进行秒杀&#xff0c;由于秒杀功能需要在用户登录完成后才能实现&#xff0c;用户是…...

2023年全国最新安全员精选真题及答案1

百分百题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 11.&#xff08;单选题&#xff09;在起重作业中&#xff0c;&#xff08;&#xff09…...

NoMachine 输入用户名密码后 闪断 解决办法

大家好&#xff0c;我是虎哥&#xff0c;最近工作忙&#xff0c;好长时间没有继续套件的深度学习&#xff0c;今天周六&#xff0c;难得有空&#xff0c;泡好茶&#xff0c;打开电脑&#xff0c;链接套件桌面&#xff0c;得&#xff0c;出问题了&#xff0c;一个很奇怪的问题&a…...

WebADI - 参数的使用

* 本文仅供交流分享&#xff0c;不作为专业指导 最近研究了一下WEBADI文档下载的参数&#xff0c;由于网上这块资料较少&#xff0c;所以专意分享下我的笔记。 准备 集成器&#xff1a;BHSC_EMP_ADI 表值集&#xff1a;BHSC_DEPT_LOV&#xff08;值&#xff1a;dname&#x…...

【OJ】两个圆

&#x1f4da;Description: 直角坐标系内现有两个半径相等的圆&#xff0c;问两圆的位置关系。 位置关系有&#xff1a;重合&#xff0c;相切&#xff0c;相离&#xff0c;相交&#xff1b; 若两圆相交&#xff0c;需要求出两圆的重叠面积。 ⏳Input: 输入包含多组数据&a…...

一文读懂澳洲医疗:白菜价的药物怎么领?

众所周知&#xff0c;福利优厚的澳洲&#xff0c;在医疗系统上有着令全世界人民都羡慕的超高福利。 几十万的天价药&#xff0c;在澳洲&#xff0c;白菜价就能轻松到手。 国内70万元一针的“诺西那生钠注射液”&#xff08;目前中国国内唯一治疗脊髓性肌萎缩症的进口精准靶向药…...

scrum看板视图切换时间线视图做项目管理

企业需要开发一个项目&#xff0c;可以制作时间线进行管理&#xff0c;以便参与者和管理者了解项目的时间进度。项目进行到哪一步&#xff0c;参与者有哪些&#xff0c;责任人是谁&#xff0c;这些都可以通过时间线进行展示。「时间线视图」是一种比甘特图更轻量、更实用的工具…...

10、MySQL查询优化

MySQL查询优化 1.MySQL查询优化技术2.子查询优化2.1 优化器自动优化2.2 优化措施:子查询合并2.2 优化措施:子查询上拉技术3.外连接消除4.生产环境不使用join联表查询5.group by分组优化5.1 group by执行流程5.2 为什么group by要创建临时表6.order by排序优化7.MySQL性能抖动…...

C++模板(一)

文章目录C模板&#xff08;一&#xff09;1. 泛型编程2. 函数模板2.1 函数模板格式2.2 模板原理2.3 模板实例化2.4 模板参数匹配原则3. 类模板3.1 类模板格式3.2 背景3.3 类模板的实例化C模板&#xff08;一&#xff09; 1. 泛型编程 前面我们学到了函数重载这个特性&#xf…...

【TypeScript】TypeScript的基础类型(string,number,boolean,void,null,undefined):

文章目录一、安装【1】安装npm install typescript -g【2】基础类型&#xff1a;Boolean、Number、String、null、undefined 以及 ES6 的 Symbol 和 ES10 的 BigInt二、字符串类型(string)三、数字类型(number)四、布尔类型(boolean)五、空值类型(void)六、null和undefined类型…...

这几年做哪些网站致富/营销策划方案包括哪些内容

虽然现在jdk已经已经到了14【截至2020-08-15】&#xff0c;但是jdk8仍然是使用最广的版本&#xff0c;它的新特性不仅在我们日常开发中用到&#xff0c;在面试中也是一个经常被提问的点&#xff0c;所以对一些常用的还是需要知道的&#xff0c;我也只写一些常用的&#xff0c;有…...

柔造网站定制/网络营销推广价格

第17讲为有条件跳转。 有条件跳转的指令通常为 J[N]Flag 有符号数比较的判定为: 大于(G) 等于(E) 小于(L) 无符号数比较的判定为: 大于(A) 等于(E) 小于(B) X, Y 中存放为16位有符号数&#xff0c;将X&#xff0c;Y中较大的数放入AX MOV AX, X CMP AX, Y JGE SKIP MOV AX, Y SK…...

wordpress获取当前页地址/b2b电子商务平台排名

原题地址 题目描述 有 nnn 个小朋友坐成一圈&#xff0c;每人有 aia_iai​ 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 111 。 输入格式 小朋友个数 nnn&#xff0c;下面 nnn 行 aia_iai​ 。 输出格式 求使所有人获得均等糖果的最小代价。 输入输出…...

做兼职有哪些靠谱的网站有哪些/站长之家seo工具

MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用。增量备份主要是以全备或增量备份为基础&#xff0c;备份那些变更过的页面。其备份的原理是基于一个不断增长的LSN序列&#xff0c;这个LSN与Oracle的SCN类似。在恢复期间&#xff0c;我…...

使用vue做的商城网站/电子商务网站建设方案

RealThinClient SDK是用于开发标准的HTTP(S)服务器&#xff0c;ISAPI扩展以及客户端的VCL控件。可用于Windows下的CodeGear Delphi 6-2010。关于RealThinClient SDK的教程会持续更新&#xff0c;本节是RealThinClient SDK的第二课&#xff0c;如何使用构建的服务器发送动态生成…...

wordpress 新建页面 所有文章/优化推广什么意思

题目描述 【问题描述】 Gardon 昨天给小希布置了一道作业&#xff0c;即根据一张由不超过 5000 的 N(3<N<100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和&#xff0c;然后再将它们排序。例如&#xff0c;如果数表里含有四个数 1&#xff0c;3&#xff0c;4&#x…...