java中线性结构的例子_java数据结构--线性结构

一、数据结构

数据结构由数据和结构两部分组成,就是将数据按照一定的结构组合起来,这样不同的组合方式有不同的效率,可根据需求选择不同的结构应用在相应在场景。数据结构大致

分为两类:线性结构(如数组,链表,队列,栈等),非线性结构(如树,图,表等)。本文介绍下线性结构,下章介绍非线性结构。

二、数组

数组表示一组有限个相同类型的数据的集合,顺序存储,下标从0开始,其特点是可以根据下标快速的查找到元素,但在增加和删除元素时会导致大量的数据位置的变动,即这

种情况下性能不高,故数组一般多用于查找频繁,增,删较少的情况。

下图为一个二维数组的结构图:

0940344eb5450761cc9a4a8af92347e2.png

插入元素:

当往数组某位置上插入元素时,需要将位置后的所有元素往后移动一个位置。

删除元素:

当删除数组上的某个元素时,需要将该元素后的所有元素的位置往前移动一个位置。

下面简单实现数组中插入元素和删除元素功能:

public class ArrayDemo {

private Object[] array ;

private int length = 0;

private final static int DEFAULT_CAPACITY = 10;

public ArrayDemo(){

super();

this.array = new Object[DEFAULT_CAPACITY];

this.length = DEFAULT_CAPACITY;

}

public ArrayDemo(int length){

super();

if(length < 0){

throw new IllegalArgumentException("error length:"+length);

}

this.array = new Object[length];

this.length = length;

}

public ArrayDemo(Collection extends T> c){

array = c.toArray();

length = c.size();

if(array.getClass() != Object[].class){

array = Arrays.copyOf(array, length, Object[].class);

}

}

/**

* 在数组array的index位置处插入一个元素t,如果已经满了,则移除最后一个元素

* @param array

* @param t

* @param indext

*/

public void insert(T t, int index){

if(null == t){

throw new NullPointerException("null Pointer!");

}

if(index < 0 || index > length-1){

throw new IndexOutOfBoundsException("index is error");

}

for(int pos = length-1; pos>index; pos--){

array[pos] = array[pos-1];

}

array[index] = t;

}

/**

* 删除指定位置上的数组元素

* @param array

* @param index

*/

public void delete(int index){

if(null == array){

throw new NullPointerException("null Pointer!");

}

int length = array.length;

if(index < 0 || index > length-1){

throw new IndexOutOfBoundsException("index is error");

}

for(int pos = index; pos < length-1; pos++){

array[pos] = array[pos+1];

}

array[length-1] = null;

}

/**

* 遍历输出数组中所有元素

*/

public void trans(){

if(null == array){

throw new NullPointerException("null Pointer!");

}

for(int pos=0; pos< length; pos++){

System.out.println(array[pos]);

}

}

}

public class Person {

private String name;

private String sex;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

@Override

public String toString() {

return "Person [name=" + name + ", sex=" + sex + "]";

}

public Person(String name, String sex) {

super();

this.name = name;

this.sex = sex;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((name == null) ? 0 : name.hashCode());

result = prime * result + ((sex == null) ? 0 : sex.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Person other = (Person) obj;

if (name == null) {

if (other.name != null)

return false;

} else if (!name.equals(other.name))

return false;

if (sex == null) {

if (other.sex != null)

return false;

} else if (!sex.equals(other.sex))

return false;

return true;

}

}

测试类:

public class TestArray {

public static void main(String[] args) {

ArrayDemo array = new ArrayDemo<>();

Person p = new Person("张三", "m");

array.insert(p, 0);

array.trans();

array.delete(0);

System.out.println("---");

array.trans();

}

}

三、链表

链表是一种有序的列表。链表的内容通常存储在内存中分散的位置上。链表由节点组成,每个节点的结构都是相同的。节点分为数据域和链域,数据域顾名思义,就是存放节点

节点的内容,链域存放的是下一个节点的指针或引用。如果是双向链表的话,链域中还会有前一个节点的指针或引用。下图为单向链表各节点间的关系图。

6164aca1782b13db8e81de49bc0421ae.png

下面来实现一个简单的链表结构

节点类:

public class Node {

private T data;

private Node pre;

private Node next;

public Node(){

super();

this.pre = null;

this.next = null;

}

public Node(T data){

super();

this.data = data;

this.pre = null;

this.next = null;

}

public Node(T data, Node pre, Node next){

super();

this.data = data;

this.pre = pre;

this.next = next;

}

public T getData() {

return data;

}

public void setData(T data) {

this.data = data;

}

public Node getPre() {

return pre;

}

public void setPre(Node pre) {

this.pre = pre;

}

public Node getNext() {

return next;

}

public void setNext(Node next) {

this.next = next;

}

}

链表类

public class LinkedListDemo {

private Node head;//头结点

private Node tail;//尾节点

private int size;//链表大小

public LinkedListDemo(){

head = new Node(null, null, null);

tail = new Node(null, head, null);

head.setNext(tail);

size = 0;

}

public MyIterator iterator(){

return new MyIterator();

}

public void add(T data){

Node node = new Node(data);

node.setPre(tail.getPre());

tail.getPre().setNext(node);

tail.setPre(node);

node.setNext(tail);

size++;

}

public void remove(T data){

Node node = head;

while(tail != node.getNext()){

Node currentNode = node.getNext();

if(currentNode.getData().equals(data)){

currentNode.getPre().setNext(currentNode.getNext());

currentNode.getNext().setPre(currentNode.getPre());

size--;

break;

}

node = currentNode;

}

}

public void print(){

Node node = head;

while(tail != node.getNext()){

Node currentNode = node.getNext();

System.out.println(currentNode.getData().toString());

node = currentNode;

}

}

/**

*

* 项目名: adt

* 类名: LinkedListDemo.java

* 类描述: 定义一个该链表的迭代器来访问

* 备注:

* 创建日期:2014-10-10

* 创建时间:上午12:10:46

* @param

*/

@SuppressWarnings("hiding")

private class MyIterator implements Iterator{

@SuppressWarnings("unchecked")

private Node currentNode = (Node) head.getNext();//节点读取当前位置

private Node returnedNode = currentNode;//返回节点的位置

@Override

public boolean hasNext() {

return currentNode == tail? false:true;

}

@Override

public T next() {

if(!hasNext()){

throw new IndexOutOfBoundsException();

}

returnedNode = currentNode;

currentNode = currentNode.getNext();

return returnedNode.getData();

}

@Override

public void remove() {

if(!hasNext()){

throw new NoSuchElementException();

}

returnedNode.getPre().setNext(returnedNode.getNext());

returnedNode.getNext().setPre(returnedNode.getPre());

returnedNode = returnedNode.getNext();

currentNode = returnedNode;

size--;

}

}

}

测试类:

public class TestDemo {

public static void main(String[] args) {

LinkedListDemo list = new LinkedListDemo();

//往链表中加入10个元素

for(int i=0; i<10;i++){

Person p = new Person("zhang"+i, "m");

list.add(p);

}

list.print();

System.out.println("========");

Person p = new Person("zhang1", "m");

list.remove(p);//移除自定的元素

list.print();

System.out.println("========");

Person p1 = new Person("zhang4", "m");

Iterator iterator = list.iterator();

while(iterator.hasNext()){

Person person = iterator.next();

if(person.equals(p1)){

iterator.remove();//迭代器移除制定元素

break;

}

}

list.print();

}

}结果:

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

========

Person [name=zhang0, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

========

Person [name=zhang0, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

四、队列

队列数据结构类似于生活中队列,有一个很重要的特性:先进先出。即增加元素肯定是在队列的尾部添加,删除元素肯定是删除队列头部的元素。队列的实现可以用数据结构,

也可以用链表结构。

8c58e870923d5afd6603676bd0078494.png

下面简单是一个用数组结构实现的队列结构:

public class QueueDemo {

private Object[] object;

/**

* 队列容量

*/

private int capicity;

/**

* 队列中元素的个数

*/

private int size;

private final static int DEFAULT_CAPICAL = 10;

public QueueDemo(){

capicity = DEFAULT_CAPICAL;

object = new Object[capicity];

}

public QueueDemo(int capicity){

this.capicity = capicity;

object = new Object[this.capicity];

}

public int size(){

return size;

}

public boolean isEmpty(){

return size==0;

}

/**

* 往队列中添加元素

* @param t

*/

public void add(T t){

if(size == capicity){

throw new IndexOutOfBoundsException("queue is full");

}

object[size++]=t;

}

/**

* 移除队列中的元素

*/

public void remove(){

if(isEmpty()){

throw new IndexOutOfBoundsException("queue is empty");

}

for(int pos = 0; pos < size-1; pos++){//将整个数组往前以一个位置

object[pos] = object[pos+1];

}

size--;

}

public void clear(){

Arrays.fill(object, null);

size=0;

}

public void print(){

for(int i=0; i

System.out.println(object[i].toString());

}

}

}

测试类:

public class TestQueue {

/**

* @param args

*/

public static void main(String[] args) {

QueueDemo queue = new QueueDemo();

for(int i=0; i<10; i++){

Person p = new Person("zhang"+i, "m");

queue.add(p);

}

queue.print();

System.out.println("=====");

while(queue.size() > 0){//依次删除队列头元素

queue.remove();

queue.print();

System.out.println("=====");

}

}

}

输出:

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang9, sex=m]

=====

=====

五、栈

栈结构与队列类似,不过区别在于栈是先进后出的。即最先进栈的元素是最后一个出栈的。栈的结构也可以用数组或链表来实现。

6bdb7ca1b72e62f69bcba92031a7be88.png

下面简单实现一个基于数组结构的栈,实现只是稍微修改下上面队列结构的代码。

public class StackDemo {

private Object[] object;

private int capicity;

private int size;

private final static int DEFAULT_CAPICAL = 10;

public StackDemo(){

capicity = DEFAULT_CAPICAL;

object = new Object[capicity];

}

public StackDemo(int capicity){

this.capicity = capicity;

object = new Object[this.capicity];

}

public int size(){

return size;

}

public boolean isEmpty(){

return size==0;

}

public void add(T t){

if(size == capicity){

throw new IndexOutOfBoundsException("queue is full");

}

object[size++]=t;

}

/**

* 修改移除元素的代码

*/

public void remove(){

if(isEmpty()){

throw new IndexOutOfBoundsException("queue is empty");

}

object[--size]=null;

}

public void clear(){

Arrays.fill(object, null);

size=0;

}

public void print(){

for(int i=0; i

System.out.println(object[i].toString());

}

}

}

测试类:

public class TestStack {

/**

* @param args

*/

public static void main(String[] args) {

StackDemo queue = new StackDemo();

for(int i=0; i<10; i++){

Person p = new Person("zhang"+i, "m");

queue.add(p);

}

queue.print();

System.out.println("=====");

while(queue.size() > 0){

queue.remove();

queue.print();

System.out.println("=====");

}

}

}

结果:

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

Person [name=zhang9, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

Person [name=zhang8, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

Person [name=zhang7, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

Person [name=zhang6, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

Person [name=zhang5, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

Person [name=zhang4, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

Person [name=zhang3, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

Person [name=zhang2, sex=m]

=====

Person [name=zhang0, sex=m]

Person [name=zhang1, sex=m]

=====

Person [name=zhang0, sex=m]

=====

=====

六、几种简单的线性结构介绍完了,在实际的应用环境中需要参考各种数据结构的特点来选择。

数组:查找速度很快,但长度固定,增,删效率较低。

链表:增删效率较高,长度不固定,但查找需要从头遍历整个链表,效率较低。

队列:可用数组,链表实现,先进先出。

栈:可用数组,链表实现,先进后出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot和JSP

本指南展示了如何使用Spring Boot通过JSP创建MVC Web应用程序。 先决条件&#xff1a; Eclipse IDE&#xff08;最新版本&#xff09; Maven的4 Java 1.8 1.创建Maven Web项目 打开eclipse&#xff0c;然后创建一个新的Maven Web项目&#xff0c;并将其命名为SpringBootWe…

判断用户名和密码是否正确java_facebook中如何判断用户名和密码是否正确

Do you hear the angel?Do you think that this really has the angel in the world?We knew from the story in the book, the angel contain the wing of the beauty, beautiful face , the mind of the docile, generous breadth of view, they would like to sacrifice t…

使用Spock测试您的代码

Spock是针对Java和Groovy应用程序的测试和规范框架。 Spock是&#xff1a; 极富表现力 促进测试的给定/何时/然后语法 与大多数IDE和CI服务器兼容。 听起来不错&#xff1f; 通过快速访问Spock Web控制台&#xff0c;您可以非常快速地开始使用Spock。 当您有一个喜欢的小测…

php删除文见,php如何删除文件夹

php删除文件夹的方法&#xff1a;首先创建一个PHP示例文件&#xff1b;然后通过“function deldir($dir) {...}”删除目录下的文件并删除当前文件夹即可。php删除文件夹及其文件夹下所有文件function deldir($dir) {//先删除目录下的文件&#xff1a;$dhopendir($dir);while ($…

阿帕奇齿轮泵

Apache Gearpump是实时大数据流引擎。 它从2014年中期开始就在Intel上作为GitHub上的开源项目构想的&#xff0c;并于2016年3月8日进入Apache孵化。Gearpump的名称是对工程术语“齿轮泵”的指称&#xff0c;它是一个超级简单的泵&#xff0c;由只有两个齿轮&#xff0c;但是在流…

php网站标签加小图标,在htmltitle/title标签添加图标,网页title左边显示网页的logo图标...

如图在黑色所画圆之中显示一个图标&#xff1a;步骤一&#xff1a;在图片中显示图标&#xff0c;这里的图片只支持ico格式&#xff0c;需要转换图片格式.原始图像可以接受: .jpg .jpeg .gif .png等图像格式在这个网址http://www.php.cn/上传你的原始图片然后生成ico格式图标(百…

在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例

使用Jackson API在Java中解析JSON时的常见问题之一是&#xff0c;当您的JSON包含未知属性&#xff08;即您的Java类没有对应于所有JSON属性的所有字段&#xff09;时&#xff0c;该操作将失败。 例如&#xff0c;如果您正在使用REST Web服务中的JSON&#xff0c;并且明天他们在…

php界面设置编码格式,php设置编码格式的方法

php设置编码格式的方法发布时间&#xff1a;2020-08-15 11:02:56来源&#xff1a;亿速云阅读&#xff1a;78作者&#xff1a;小新这篇文章主要介绍php设置编码格式的方法&#xff0c;文中介绍的非常详细&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们一定要看完&…

单元测试 问题描述_单元测试技巧:创建描述性测试

单元测试 问题描述您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚&#xff0c;您甚至不必启动调试器&#xff0c;并一步一步地检查代码以检查局部变量。 为什么&#xff1f; 因为那需要时间&#xff0c;而且我们很懒&#xff0c;对吗&#xff1f; 为此&#xff…

matlab小波脊线,小波脊线提取,模极大值法。运行的结果不太对,代码有些地方我也没完全看懂...

本帖最后由 1393107100 于 2019-5-1 11:10 编辑clear,clcclose all%%%%%% 小波变换 %%%%%%%%%%%%%%%%fs1024;t1/fs:1/fs:1;f1100;f2200;f3300;scos(2*pi*f1*t.*(t>0&t<0.3))2*cos(2*pi*f2*t.*(t>0.3&t<0.8))3*sin(2*pi*f3*t.*(t>0.8&t<1));%sc…

php json追加500错误,在composer.json中添加了一个git地址;composer update 报错

在composer.json中添加了一个git地址&#xff1b;composer update 报错&#xff0c;不知道是什么原因导致的&#xff0c;如图&#xff1a;问题补充&#xff1a;在BAE包里面添加composer.json 后 重新composer updateYour requirements could not be resolved to an installable…

matlab曲线拟合 最低点,Matlab曲线拟合 最小二乘法 polyfit【转】

曲线拟合已知离散点上的数据集 &#xff0c;即已知在点集 上的函数值 &#xff0c;构造一个解析函数(其图形为一曲线)使 在原离散点 上尽可能接近给定的值&#xff0c;这一过程称为曲线拟合。最常用的曲线拟合方法是最小二乘法&#xff0c;该方法是寻找函数 使得 最小。MATLAB函…

sin查找表 matlab,利用Xilinx中的ROM构造查找表来计算sin和cos的方法探讨

1.使用matlab制作.coe文件查找表的构造构造256点的正余弦表exp(-j*2*pi*(0:255)/256)&#xff0c;分别得到 cos和sin的查找表matlab代码: 求sinfid fopen(sin.txt,a );str1 MEMORY_INITIALIZATION_RADIX10;;str2 MEMORY_INITIALIZATION_VECTOR;fprintf(fid,\t%s\n \t%s\n, s…

php提取pdf首页图片,pdf图片怎么提取

pdf图片的提取方法&#xff1a;首先用极速PDF阅读器打开文档&#xff1b;然后在图片处单击鼠标右键并选择“复制图片”&#xff0c;这时就可以粘贴发送了。本文操作环境&#xff1a;Windows7系统&#xff0c;Microsoft Office PowerPoint2020版本&#xff0c;Dell G3电脑。pdf图…

dlopen linux 实例_Linux静态库和动态库

库从本质上来说是一种可执行代码的二进制格式&#xff0c;可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库这类库的名字一般是libxxx.a&#xff1b;利用静态函数库编译成的文件比较大&#xff0c;因为整个 函数库的所有数据都会被整合进目标…

反射setaccessible_advancedday16类加载器,反射

加载配置文件在src目录下创建一个config.properties配置文件&#xff0c;使用类加载器加载配置文件。//创建集合Properties propertiesnew Properties();//获取src目录下&#xff0c;配置文件的流InputStream in ClassLoader.getSystemClassLoader() .getResourceAsStream(…

基于matlab的语音信号,科学网—[转载]【信息技术】【2014.06】【含源码】基于MATLAB的语音信号处理与分析 - 刘春静的博文...

本文为瑞典耶夫勒大学(作者&#xff1a;Nan Wu)的学士论文&#xff0c;共48页。语音传递是人类最重要、最有效、最常用的信息交流方式。语言是人类特有的特征&#xff0c;而人声是常用的工具&#xff0c;也是相互传递信息的重要途径。语音具有较大的信息容量。因此&#xff0c;…

string.intern_使用String.intern()减少内存使用

string.intern时不时地会有一个垂死的生产应用程序。 而且您知道您需要尽快对其进行修补。 我们也是如此&#xff0c;并认为分享最近的一个战争故事会很有趣。 在这种情况下&#xff0c;我们就有机会使用String.intern&#xff08;&#xff09;之类的简单补丁来修补应用程序。 …

微信批量退款php,微信支付退款接口详解

微信支付有2个退款相关的接口&#xff0c;分别是申请退款API和查询退款API&#xff0c;这2个接口在实际微信支付开发中都会用到。其中申请退款API因为安全性&#xff0c;需要使用证书&#xff0c;证书在商户平台后台下载.申请退款接口支持一年以内的订单退款&#xff0c;可以分…

1235813找规律第100个数_人教版一年级下册数学第1-8单元知识点梳理填空,附答案...

参考答案&#xff1a;第一单元 认识图形1、认识平面图形 2、平面图形的拼组用相同的正方形、长方形或三角形可以分别拼成更大的正方形、长方形或三角形。3、认识七巧板 七巧板是由1个正方形、1个平行四边形、5个三角形组成的。第二单元 20以内的退位减法1、十几减几的计算方法(…