【python】经典排序算法及代码实现及动画演示

Python+tkinter实现的排序算法动画演示 Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或关键字)。Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。Python中的许多库和框架,如NumPy、Pandas和Tkinter,都极大地扩展了其应用范围。 阅读详情

在这里插入图片描述

1. 简单插入排序

1)算法原理
2)可视化
3)代码实现

2. 希尔排序

1)算法原理

希尔排序是插入排序的高效实现,对简单插入排序减少移动次数优化而来。

简单插入排序每次插入都要移动大量数据,前后插入时的许多移动都是重复操作,若一步到位移动效率会高很多。

若序列基本有序,简单插入排序不必做很多移动操作,效率很高。

希尔排序将序列按固定间隔划分为多个子序列,在子序列中简单插入排序,先做远距离移动使序列基本有序;逐渐缩小间隔重复操作,最后间隔为1时即简单插入排序。

希尔排序对序列划分O(n)次,每次简单插入排序O(logn),时间复杂度O(nlogn)

额外空间开销出在插入过程数据移动需要的一个暂存,空间复杂度O(1)

2)可视化

https://img-blog.csdnimg.cn/20200204161632429.gif

3)代码实现
def ShellSort(ls):
    def shellinsert(arr,d):
        n=len(arr)
        for i in range(d,n):
            j=i-d
            temp=arr[i]             #记录要出入的数
            while(j>=0 and arr[j]>temp):    #从后向前,找打比其小的数的位置
                arr[j+d]=arr[j]                 #向后挪动
                j-=d
            if j!=i-d:
                arr[j+d]=temp
    n=len(ls)
    if n<=1:
        return ls
    d=n//2
    while d>=1:
        shellinsert(ls,d)
        d=d//2
    return ls
 
 
x=input("请输入待排序数列:\n")
y=x.split()
arr=[]
for i in  y:
    arr.append(int(i))
arr=ShellSort(arr)
#print(arr)
print("数列按序排列如下:")
for i in arr:
    print(i,end=' ') 

3. 简单选择排序

1)原理

在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。

2)可视化

在这里插入图片描述

3)代码实现
###方法一:
arr=[23,41,25,54,18,14]
pos=0
for i in range(len(arr)):
    ls=arr[pos::]
    Max=max(ls)
    tmp=arr.index(Max)
    arr[pos],arr[tmp]=arr[tmp],arr[pos]
    pos+=1
print(arr)

4. 快速排序

1)算法原理
  • 选定Pivot中心轴
  • 将大于Pivot的数字放到Pivot的右边
  • 将小于Pivot的数字放到Pivot的右边
  • 分别对左右子序列重复以上三部,直到序列长度为一的时候完成快排
2)可视化

https://www.bilibili.com/video/BV1at411T75o/?spm_id_from=autoNext

3)代码实现
#######方法一
def QuikSort(arr,L,R):
    l=L
    r=R
    tmp = arr[l]
    if l>=r:
        return arr
    while l<r:
        while l<r and arr[r]>= tmp:
            r-=1
        while arr[r]< tmp:
            arr[l], arr[r] = arr[r], arr[l]
            l+=1
            while arr[l]< tmp:
                l+=1
            while arr[l]> tmp:
                arr[l], arr[r] = arr[r], arr[l]
                r-=1
    QuikSort(arr,L,l-1)
    QuikSort(arr,l+1,len(arr)-1)
    return arr
arr=[6,1,2,7,9,3,4,5,10,8]
res=QuikSort(arr,0,len(arr)-1)
print(res)    
#####方法二
def quick_sort(alist, start, end):
    """快速排序算法的实现"""
 
    # 递归的退出条件
    if start >= end:
        return
    # 设定起始元素为要寻找位置的基准元素
    mid = alist[start]
    # low为序列左边的由左向右移动的游标
    low = start
    # high为序列右边的由右向左移动的游标
    high = end
 
    while low < high:
        # 如果low与high未重合,high指向的元素不比基准元素小,则high向左移动
        while low < high and alist[high] >= mid:
            high -= 1
        # 将high指向的元素放到low的位置上
        alist[low] = alist[high]
 
        # 如果low与high未重合,low指向的元素比基准元素小,则low向右移动
        while low < high and alist[low] < mid:
            low += 1
        # 将low指向的元素放到high的位置上
        alist[high] = alist[low]
 
    # 退出循环后,low与high重合,此时所指位置为基准元素的正确位置
    # 将基准元素放到该位置
    alist[low] = mid
    # 对基准元素左边的子序列进行快速排序
    quick_sort(alist, start, low-1)  # 递归调用!
    # 对基准元素右边的子序列进行快速排序
    quick_sort(alist, low+1, end)  # 递归调用!
 
 
if __name__ == "__main__":
    alist = [54, 26, 93, 17, 77, 31, 44, 55, 20, 100, 77]
    print(alist)
    quick_sort(alist, 0, len(alist)-1)
    print(alist)

5. 冒泡排序

1)算法原理
  • 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  • 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
    在这里插入图片描述
2)可视化

https://www.bilibili.com/video/BV1oA411i7HC?from=search&seid=6654424292689255239

3)代码实现
def BubbleSort(ls):
    n=len(ls)
    if n<=1:
        return ls
    for j in range (n,0,-1):
        for i in range(j):
            if ls[i]>ls[i+1]:
                ls[i],ls[i+1] = ls[i+1],ls[i]
    return ls
x=input("请输入待排序数列:\n")
y=x.split()
arr=[]
for i in  y:
    arr.append(int(i))
arr=BubbleSort(arr)
#print(arr)
print("数列按序排列如下:")
for i in arr:
    print(i,end=' ')

6. 堆排序

1)定义

堆排序基于比较交换,是冒泡排序的优化。具体涉及大(小)顶堆的建立与调整。

大顶堆指任意一个父节点都不小于左右两个孩子节点的完全二叉树,根节点最大。

堆排序首先建立大顶堆(找出一个最大值),然后用最后一个叶子结点代替根节点后做大顶堆的调整(再找一个最大值),重复

以数组(列表)实现大顶堆时,从上到下,从左到右编号。父节点序号为n,则左右孩子节点序号分别为2n+1、2n+2

大顶堆的调整:将仅有根节点不满足条件的完全二叉树,调整为大顶堆的过程。

大顶堆调整方法:将根节点与较大一个儿子节点比较,不满足条件则交换。

                        若发生交换,将被交换儿子节点视作根节点重复上一步

大顶堆的建立:从最后一个非叶子节点开始到根节点结束的一系列大顶堆调整过程。

堆排序的初始建堆过程比价复杂,对O(n)级别个非叶子节点进行堆调整操作O(logn),时间复杂度O(nlogn);之后每一次堆调整操作确定一个数的次序,时间复杂度O(nlogn)。合起来时间复杂度O(nlogn)

2)动画演示视频

https://www.bilibili.com/video/av710200011/

3)代码实现
def  HeapSort(ls):
    def heapadjust(arr,start,end):  #将以start为根节点的堆调整为大顶堆
        temp=arr[start]
        son=2*start+1
        while son<=end:
            if son<end and arr[son]<arr[son+1]:  #找出左右孩子节点较大的
                son+=1
            if temp>=arr[son]:       #判断是否为大顶堆
                break
            arr[start]=arr[son]     #子节点上移
            start=son                     #继续向下比较
            son=2*son+1
        arr[start]=temp             #将原堆顶插入正确位置
#######
    n=len(ls)
    if n<=1:
        return ls
    #建立大顶堆
    root=n//2-1    #最后一个非叶节点(完全二叉树中)
    while(root>=0):
        heapadjust(ls,root,n-1)
        root-=1
    #掐掉堆顶后调整堆
    i=n-1
    while(i>=0):
        (ls[0],ls[i])=(ls[i],ls[0])  #将大顶堆堆顶数放到最后
        heapadjust(ls,0,i-1)    #调整剩余数组成的堆
        i-=1
    return ls
#########
x=input("请输入待排序数列:\n")
y=x.split()
arr=[]
for i in  y:
    arr.append(int(i))
arr=HeapSort(arr)
#print(arr)
print("数列按序排列如下:")
for i in arr:
    print(i,end=' ') 

7. 归并排序

1)定义
2)动画演示讲解

https://www.bilibili.com/video/BV1ZW411q7vG?from=search&seid=9791204927634317149

3)代码实现
def MergeSort(array):
    n = len(array)
    if n <= 1:
        return array
    m = n//2
    L = MergeSort(array[:m])
    R = MergeSort(array[m:])

    i,j =0,0
    res=[]
    while i < len(L) and j < len(R):
        if L[i] <= R[j]:
            res.append(L[i])
            i += 1
        else:
            res.append(R[j])
            j += 1

    res += L[i:]
    res += R[j:]
    return res



arr=[23,41,25,54,18,14]
n=len(arr)
ans = MergeSort(arr)
print(ans)

8. 桶排序

1)算法原理
2)可视化
3)代码实现

参考文献:

项目:数据集的大小
测试接口
图像处理方法
python用到的经常库函数
多线程,及用到的库函数
算法:归并排序
数据库查询语句
操作系统
linx 指令
计算机网络;三次握手

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记 日期:2025-09-09关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件。 阅读详情

相关推荐

汇川伺服Modbus-RTU通讯实战:从帧结构解析到西门子PLC配置

本文详细解析了汇川伺服与西门子PLC通过Modbus-RTU协议进行通讯的实战步骤,包括帧结构解析、硬件连接、参数设置及PLC程序配置。通过具体案例和常见问题排查指南,帮助工程师快速掌握工业自动化中的通讯技术,提升设备调试效率。

weixin_33670713的博客 453

python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

weixin_46710559的博客 1940

从零到一:Zephyr RTOS 在 STM32F4 上的移植与实战(含设备树配置详解)

本文详细介绍了如何从零开始将Zephyr RTOS移植到STM32F4开发板,涵盖开发环境搭建、硬件抽象层分析、设备树配置及系统裁剪等关键步骤。通过实战案例,帮助开发者掌握Zephyr RTOS在嵌入式设备中的应用,提升物联网边缘计算设备的开发效率。

weixin_26976635的博客 589

Python+Matplotlib 制作排序算法的动画

1 、算法的魅力深刻研究排序算法是入门算法较为好的一种方法,现在还记得4年前手动实现常见8种排序算法,通过随机生成一些数据,逐个校验代码实现的排序过程是否与预期的一致,越做越有劲,越有劲...

程序IT圈 408

多源异构数据在线可视化ETL编排平台深度实践:基于Python与Apache Calcite的现代数据管道构建

在当今企业数据环境中,数据源呈现爆发式增长与高度异构性。传统ETL工具面对多源(MySQL、PostgreSQL、MongoDB、Hive、文件系统等)与异构(结构化、半结构化、非结构化)数据时,往往面临扩展性差、学习曲线陡峭、难以融入现代DevOps体系等问题。本文深入探讨了如何构建一个基于Python/Pandas、Apache Calcite(通过JPype桥接)以及Vue.js前端的轻量级、在线可视化ETL编排平台。

2201_76125261的博客 75

RK3588平台开发系列讲解(项目篇)常见模型结构

📢 AI 模型常采用人工神经网络来模拟人脑神经的记忆和处理信号的能力。常见的人工神经网络类型有深度神经网络(Deep Neural Network,DNN)、卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。

内核笔记 1756

python实现排队论模型_python实现SIR传播模型(动图)

多年前研究PDE的时候接触到了SIR传播模型,此次疫情德国某位教授预测也使用了SIR模型。SIR模型是传染病模型中最经典的模型,其中S表示易感者,I表示感染者,R表示移出者。模型中把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类...

weixin_36410316的博客 562

CDD数据库文件制作(二)——服务配置(0x27)

主要根据诊断调查表,针对0x27服务在CDD中的每一步配置给出详细介绍 1.会话切换配置 1.1.根据诊断调查表进行信息提取 1.2.子功能添加 1.2.1.Level1安全等级1创建 1.2.2.Level3安全等级3创建 1.2.3.安全等级名字查看与修改 1.3.会话切换信息提取(应用程序下) 1.4.会话转换配置(应用程序下) 1.5.会话切换信息提取(引导程序下) 1.6.会话转换配置(引导程序下) 2.安全等级配置信息提取 2.1.安全访问配置(level1) 2.2.安全访问配置(level2

LOVE135149的博客 2929

【千锤百炼Python—11】:十大排序算法总结(动画+代码)

不管学习哪种语言。十大经典的排序算法都是要掌握的! 一、算法分类 十大排序算法有两种分类方式,一种是按照是否进行元素比较分类,另一种是按照是否使用外存进行分类!接下来,我会一一介绍这两种分类方式。 1. 按照是否进行元素比较分类 比较类排序:通过比较元素间的大小进行排序的一种方式。 非比较排序:不通过比较元素间的大小进行排序的一种方式。 思维导图如下: 2. 按照是否使用外存分类 内部排序:数据记录在内存中进行排序的一种方式。 外部排序:需要排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需

王乐予的博客 2125

大数据领域数据服务的数据分析工具推荐

你有没有过这样的经历?——领导说“帮我分析一下上个月的销量”,你打开Excel却发现数据有100万行,电脑直接卡死;或者想实时知道“现在直播间的观众在买什么”,却不知道用什么工具处理每秒10万条的点击数据。本文的目的:帮你解决“选什么工具做什么事”的问题,覆盖大数据服务的全流程(采集→存储→处理→分析→可视化),推荐高频、实用、易上手的工具,并讲清楚它们的“适用场景”和“优缺点”。范围。

大数据洞察的博客 1931

用Python实现辅助病案首页主诊断编码:从数据清洗到模型上线(上)

本文介绍了一个使用Python构建AI辅助病案首页主诊断编码系统的完整指南。文章从环境搭建开始,详细讲解了数据准备与清洗策略,包括数据格式标准化、文本清洗与脱敏处理等关键步骤。系统采用深度学习技术处理复杂的医疗文本,解决ICD编码面临的文本复杂性、专业性和数据不一致性等挑战。文中提供了完整的代码实现,涵盖数据预处理、敏感信息脱敏、文本分割等实用功能模块,帮助医疗机构构建可落地、可扩展的智能编码系统,提高编码准确性和工作效率。

AllenLV的博客 922

数组排序算法——快速排序(Quick)算法精讲及python实现

在这种选择下,每一次都将序列从 $n$ 个元素变为 $\frac{n}{2}$ 个元素。每一次选择的基准数都是当前序列的中位数,此时算法时间复杂度满足的递推式为 $T(n) = 2 \times T(\frac{n}{2}) + \Theta(n)$,由主定理可得 $T(n) = O(n \times \log_2n)$。每一次选择的基准数都是序列的最终位置上的值,此时算法时间复杂度满足的递推式为 $T(n) = T(n - 1) + \Theta(n)$,累加可得 $T(n) = O(n^2)$。

白话机器学习 2120

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

经典排序算法总结

经典排序算法总结0.总述1.冒泡排序(Bubble Sort)2.选择排序(Selection Sort)3.插入排序(Insertion Sort) 0.总述 1.冒泡排序(Bubble Sort) 1.1 算法描述 冒泡排序是一种比较简单的排序算法,通过重复的遍历整个数组,如果碰到两个数顺序错误,就把他们交换位置。每次遍历数组,都会将一部分数放在正确的位置上。直到遍历数组时,没有交换发生。此时...

JERRY6066的博客 553

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

php和python的选择排序算法,十大经典排序算法之——选择排序(Java、JavaScript、PHP、Python、Go语言实现)-Go语言中文社区...

十大经典排序算法之——选择排序本文主要介绍十大经典排序算法中的“选择排序”,并附上选择排序算法的Java、JavaScript、PHP、Python、Go语言实现。1、十大经典排序算法介绍排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡...

weixin_39806808的博客 193

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

6种排序算法的Python实现

1.冒泡排序 思路:遍历列表,每一轮每次比较相邻两项,将无序的两项交换,下一轮遍历比前一轮比较次数减1。 def bubble_sort(a_list): for passnum in range(len(a_list)-1, 0, -1): for i in range(passnum): if a_list[i] &gt; a_list[i...

404 Not Found 2994

python从低到高排序_【Python进阶】经典排序算法

【Python进阶】经典排序算法Python实现七种经典排序算法。一、冒泡排序介绍冒泡排序是排序算法中较为简单的一种,英文称为 Bubble Sort。它遍历所有的数据,每次对相邻元素进行两两比较,如果顺序和预先规定的顺序不一致,则进行位置交换;这样一次遍历会将最大或最小的数据上浮到顶端,之后再重复同样的操作,直到所有的数据有序。如果有n个数据,那么需要的比较次数,所以当数据量很大时,冒泡算法的效...

weixin_39733232的博客 1434

希尔排序python 简书_几种排序算法的python实现

摘自知乎。自己动手实现了一下,方便更好理解。每种排序的过程,请参照动画演示,以动画演示排序过程,对小白特别友好。一:冒泡排序比较简单,主要是通过两次遍历去两两比较紧挨着的两个元素。时间复杂度为 O(n^2)def bubble(list):length = len(list)for index in range(length):for i in range(1, length-index):# 两...

weixin_39745013的博客 163

Python 实现十大经典排序算法

目录排序算法分类一、冒泡排序(Bubble Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例二、选择排序(Selection Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例三、插入排序(Insertion Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例四、希尔排序(Shell Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例五、归并排序(Merge Sort)1、原理2、步骤3、动画演示4、代码实现5、具体示例六、快速排序(Quick Sort)1

BOB'S BLOG 1万+

一文总结十大经典排序算法(思维导图 + 动图演示 + 代码实现 C/C++/Python + 致命吐槽)

冒泡排序 void Swap( ElementType *a, ElementType *b ){ ElementType t = *a; *a = *b; *b = t; } void BubbleSort(ElementType A[], int N){ int P,i; int flag; for(P=N-1;P>=0;P--){ flag=0; for(i=0...

种树最好的时间是10年前,其次是现在!!! 1万+

用Python实现十大经典排序算法

来源:Python数据之道 (ID:PyDataLab)作者:阳哥大家好,我是阳哥。最近一段时间,我在微信视频号「Python数据之道」上陆陆续续发布了10种经典排序算法的动画实现。今天,...

Python数据之道 4347

用 Python 实现十大经典排序算法

10种经典排序算法包括冒泡排序、选择排序、快速排序、归并排序、堆排序、插入排序、希尔排序、计数排序、桶排序、基数排序等。 当然,还有一些其他的排序算法,大家可以继续去研究下。 01冒泡排序 冒泡排序(Bubble Sort)是一种比较简单的排序算法,它重复地走访过要排序的元素,依次比较相邻两个元素,如果它们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。 注:上图中,数字表示的是数据序列原始的索引号。 算法过程 比较相邻的元素,如果前一个比后一个大,就把它们两个对调位置。 ..

m0_59485658的博客 1万+

Python实现十大经典算法动画图解

该文章摘自https://www.cnblogs.com/onepixel/articles/7674659.html#!comments 如有侵权,请联系邮箱459791796@qq.com,会及时删除 原文章为c语言实现,本文用python3实现 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O...

simple_code 4420

十大经典排序算法动图演示+Python实现

原文:你“听”过这些经典排序算法吗? 而今天这篇文章,转自 Github 上一个项目,此项目整理了 10 个常见排序算法的原理、演示和多种语言的实现。这里我们摘录其中 Python 的实现,分享给大家。 作者:hustcc 来源:https://github.com/hustcc/JS-Sorting-Algorithm 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很...

zhusongziye的博客 1564

python的十大经典排序算法

十大经典排序算法 该文章参照菜鸟教程,也有自己的部分理解。 一、简介 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: 关于时间复杂度: 平方阶 (O(n2)) 排序 各类简单排序: 直接插入、直接选择和冒泡排序。 线性对

胖大xian 4293

十大经典排序算法的步骤、演示及Python实现

一、排序算法比较 名词解释: n:数据规模 k:"桶"的个数 In-place:占用常数内存,不占用额外内存 Out-place:占用额外内存 稳定性:排序后 2 个相等键值的顺序和排序之前它们的顺序相同 二、利用python实现排序算法 2.1 冒泡排序 1. 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个; 对每一对相邻元素做同样的...

QianT 1159

Python实现十大经典排序算法

算法分类 分类 排序算法大致可以分为两类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 相关概念 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b...

黎先生的博客 1077
上一篇: 【python】面试-笔试题汇总
下一篇: 数据库基础(面试常考SQL语句)
yipala
博客等级 码龄8年 90粉丝 48原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值