几种常用排序算法的C语言实现

基于Python爬虫的新闻热点分析与挖掘 本文介绍了基于Python爬虫的新闻热点分析与挖掘方法,主要包括数据收集、预处理、热点分析和可视化四个部分。首先通过爬虫抓取新浪新闻数据,利用文本清洗和存储技术进行数据预处理;接着采用TF-IDF和LDA算法进行关键词提取与主题建模;最后通过词云图和主题分布图实现数据可视化。该方法能有效识别新闻热点,为信息筛选和决策提供支持。 阅读详情
重温数据结构,顺手写下几种常用的排序算法,以备查询。

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include <assert.h> 
  4. #include <malloc.h> 
  5. #include <memory.h> 
  6. #include <time.h> 
  7.  
  8. void print(int a[], int n) 
  9. { 
  10.     int i = 1; 
  11.     while(i<=n) 
  12.     { 
  13.         printf("%d,", a[i]); 
  14.         i++; 
  15.     } 
  16.     printf("/n"); 
  17.  
  18.     return; 
  19. } 
  20.  
  21. //直接插入排序,时间复杂度O(n^2),空间复杂度O(1),稳定排序 
  22. //a[0]不参与排序,实际排序空间为a[1]~a[n] 
  23. void InsertSort(int a[], int n) 
  24. { 
  25.     for(int i=2; i<=n; i++) 
  26.     { 
  27.         if(a[i]<a[i-1]) 
  28.         { 
  29.             a[0] = a[i]; 
  30.             int j = i - 1; 
  31.             //扫描有序空间, 
  32.             while(a[0]<a[j]) 
  33.             { 
  34.                 a[j+1] = a[j]; 
  35.                 j--; 
  36.             } 
  37.             a[j+1] = a[0]; 
  38.         } 
  39.     } 
  40.     printf("InsertSort : "); 
  41.     print(a, n); 
  42.  
  43.     return; 
  44. } 
  45.  
  46. //一次Shell排序过程 
  47. void ShellPass(int a[], int n, int increment) 
  48. { 
  49.     for(int i=increment+1; i<=n; i++) 
  50.     { 
  51.         if(a[i]<a[i-increment]) 
  52.         { 
  53.             a[0] = a[i]; 
  54.             int j=i-increment; 
  55.             while(j>0 && a[0]<a[j]) 
  56.             { 
  57.                 a[j+increment] = a[j]; 
  58.                 j -= increment; 
  59.             } 
  60.             a[j+increment] = a[0]; 
  61.         } 
  62.     } 
  63.  
  64.     return; 
  65. } 
  66.  
  67. //Shell排序,时间复杂度依赖于增量序列,应避免互为倍数的增量序列, 
  68. //目前较好时间复杂度为n^1.25~1.6n^1.25,空间复杂度为O(1),不稳定排序 
  69. void ShellSort(int a[], int n) 
  70. { 
  71.     int increment = 20; 
  72.     do 
  73.     { 
  74.         increment = increment/3 + 1; 
  75.         ShellPass(a, n, increment); 
  76.     }while(increment>1); 
  77.  
  78.     printf("ShellSort : "); 
  79.     print(a, n); 
  80.  
  81.     return; 
  82. } 
  83.  
  84. //冒泡排序,时间复杂度O(n^2),空间复杂度O(1),稳定排序 
  85. void BubbleSort(int a[], int n) 
  86. { 
  87.     for(int i=1; i<n; ) 
  88.     { 
  89.         int lastExchangePos = n;//记录一次排序中最后一次交换的位置,此位置之前的所有数据都已有序 
  90.         for(int j=n-1; j>=i; j--) 
  91.         { 
  92.             if(a[j+1]<a[j]) 
  93.             { 
  94.                 a[0] = a[j+1]; 
  95.                 a[j+1] = a[j]; 
  96.                 a[j] = a[0]; 
  97.                 lastExchangePos = j+1; 
  98.             } 
  99.         } 
  100.         i = lastExchangePos; 
  101.     } 
  102.  
  103.     printf("BubbleSort : "); 
  104.     print(a, n); 
  105.  
  106.     return; 
  107. } 
  108.  
  109. ////快速排序,平均时间复杂度为O(nlgn),空间复杂度为O(lgn)~O(n),快速排序不稳定。 
  110. //C++中快速排序的实现, 
  111. void QuickSort(int a[], int low, int high) 
  112. { 
  113.     srand(time(0)); 
  114.     a[0] = a[rand()%(high-low+1)+low];//随机选择基准,改善快排的性能 
  115.  
  116.     int tmp = 0; 
  117.     int i = low, j = high; 
  118.     while(i<=j) 
  119.     { 
  120.         while(i<high && a[i]<a[0]) 
  121.             i++; 
  122.  
  123.         while(j>low && a[j]>a[0]) 
  124.             j--; 
  125.  
  126.         if(i<=j) 
  127.         { 
  128.             tmp = a[i]; 
  129.             a[i] = a[j]; 
  130.             a[j] = tmp; 
  131.             i++; 
  132.             j--; 
  133.         } 
  134.     } 
  135.  
  136.     if(j>low) 
  137.         QuickSort(a, low, j); 
  138.     if(i<high) 
  139.         QuickSort(a, i, high); 
  140.  
  141.     return; 
  142. } 
  143.  
  144. //快速排序的一次划分 
  145. int Partition(int a[], int low, int high) 
  146. { 
  147.     srand(time(0)); 
  148.     int pos = rand()%(high-low+1)+low; 
  149.     a[0] = a[pos]; 
  150.  
  151.     a[pos] = a[low]; 
  152.  
  153.     while(low<high) 
  154.     { 
  155.         while(low<high && a[0]<a[high]) 
  156.             high--; 
  157.         if(low<high) 
  158.             a[low++] = a[high]; 
  159.  
  160.         while(low<high && a[0]>a[low]) 
  161.             low++; 
  162.         if(low<high) 
  163.             a[high--] = a[low]; 
  164.     } 
  165.  
  166.     a[low] = a[0]; 
  167.  
  168.     return low; 
  169. } 
  170.  
  171. //数据结构中标准的快速排序算法 
  172. void QSort(int a[], int low, int high) 
  173. { 
  174.     if(low<high) 
  175.     { 
  176.         int p = Partition(a, low, high); 
  177.         QSort(a, low, p-1); 
  178.         QSort(a, p+1, high); 
  179.     } 
  180.  
  181.     return; 
  182. } 
  183.  
  184. //直接选择排序,时间复杂度为O(n^2),空间复杂度为O(1),不稳定排序 
  185. void SelectSort(int a[], int n) 
  186. { 
  187.     for(int i=1; i<=n; i++) 
  188.     { 
  189.         int min = i; 
  190.         for(int j=i+1; j<=n; j++) 
  191.         { 
  192.             if(a[j]<a[min]) 
  193.                 min = j; 
  194.         } 
  195.         if(min!=i) 
  196.         { 
  197.             a[0] = a[i]; 
  198.             a[i] = a[min]; 
  199.             a[min] = a[0]; 
  200.         } 
  201.     } 
  202.  
  203.     printf("SelectSort : "); 
  204.     print(a, n); 
  205.     return; 
  206. } 
  207.  
  208. //调整堆 
  209. void Heapify(int a[], int s, int to) 
  210. { 
  211.     /*
  212.     //Heapify方法的递归算法
  213.     a[0] = a[s];
  214.     int tmp = 2*s;
  215.     if(tmp+1<=to && a[tmp]<a[tmp+1])tmp++;
  216.     if(tmp<=to && a[0]<a[tmp])
  217.     {
  218.         a[s] = a[tmp];
  219.         a[tmp] = a[0];
  220.         Heapify(a, tmp, to);
  221.     }*/ 
  222.  
  223.     //Heapify方法的递推算法 
  224.     a[0] = a[s]; 
  225.     for(int j=2*s; j<=to; j*=2) 
  226.     { 
  227.         if(j+1<=to && a[j]<a[j+1])j++; 
  228.  
  229.         if(j<=to && a[0]>=a[j]) 
  230.             break; 
  231.  
  232.         a[s] = a[j]; 
  233.     //  a[j] = a[0]; 
  234.         s = j; 
  235.     } 
  236.     a[s] = a[0]; 
  237.  
  238.     return; 
  239. } 
  240.  
  241. //堆排序,最坏时间复杂度nlgn,空间复杂度为O(1),不稳定排序,适合大量数据的排序 
  242. void HeapSort(int a[], int n) 
  243. { 
  244.     for(int j=n/2; j>0; j--) 
  245.         Heapify(a, j, n); 
  246.  
  247.     for(int j=n; j>1; j--) 
  248.     { 
  249.         a[0] = a[j]; 
  250.         a[j] = a[1]; 
  251.         a[1] = a[0]; 
  252.         Heapify(a, 1, j-1); 
  253.     } 
  254.  
  255.     printf("HeapSort : "); 
  256.     print(a, n); 
  257.  
  258.     return; 
  259. } 
  260.  
  261. //归并排序的一次合并过程 
  262. void MergePass(int a[], int low, int mid, int high) 
  263. { 
  264.     int *p = (int*)malloc(sizeof(int)*(high-low+1)); 
  265.     assert(p!=NULL); 
  266.  
  267.     int *pi = p; 
  268.     int i = low, j = mid+1; 
  269.     while(i<=mid && j<=high) 
  270.         *(pi++) = (a[i]<=a[j])? a[i++] : a[j++]; 
  271.  
  272.     while(i<=mid) 
  273.         *(pi++) = a[i++]; 
  274.     while(j<=high) 
  275.         *(pi++) = a[j++]; 
  276.  
  277.     pi = p; 
  278.     while(low<=high) 
  279.         a[low++] = *(pi++); 
  280.  
  281.     free(p); 
  282.  
  283.     return; 
  284. } 
  285.  
  286. //归并排序,时间复杂度O(nlgn),空间复杂度O(n),稳定排序 
  287. void MergeSort(int a[], int low, int high) 
  288. { 
  289.     if(low<high) 
  290.     { 
  291.         int mid = (low+high)/2; 
  292.         MergeSort(a, low, mid); 
  293.         MergeSort(a, mid+1, high); 
  294.         MergePass(a, low, mid, high); 
  295.     } 
  296.  
  297.     return; 
  298. } 
  299. int main() 
  300. { 
  301.     //source[0]不参与排序,做为辅助空间使用 
  302.     int source[] = {0, 10, 8, 30, 55, 6, 0, 99, 87, -5, 32, 66, 54, 33, 21, 32, 96, 121, 70}; 
  303.     int n = sizeof(source)/sizeof(source[0])-1; 
  304.  
  305.     int a[sizeof(source)/sizeof(source[0])]; 
  306.     memcpy(a, source, sizeof(source)); 
  307.     InsertSort(a, n); 
  308.  
  309.     memcpy(a, source, sizeof(source)); 
  310.     ShellSort(a, n); 
  311.  
  312.     memcpy(a, source, sizeof(source)); 
  313.     BubbleSort(a, n); 
  314.  
  315.     memcpy(a, source, sizeof(source)); 
  316.     QuickSort(a, 1, n); 
  317.     printf("QuickSort : "); 
  318.     print(a, n); 
  319.  
  320.     memcpy(a, source, sizeof(source)); 
  321.     QSort(a, 1, n); 
  322.     printf("QSort : "); 
  323.     print(a, n); 
  324.  
  325.     memcpy(a, source, sizeof(source)); 
  326.     SelectSort(a, n); 
  327.  
  328.     memcpy(a, source, sizeof(source)); 
  329.     HeapSort(a, n); 
  330.  
  331.     memcpy(a, source, sizeof(source)); 
  332.     MergeSort(a, 1, n); 
  333.     printf("MergeSort : "); 
  334.     print(a, n); 
  335.  
  336.     system("pause"); 
  337.     return 0; 
  338. } 

3分钟学会SQL中的断点去重技术,轻松搞定连续重复数据去重问题? 传感器采集的温度数据中,存在连续重复的值,需仅在数值变化时保留记录(例如:温度从 25°C 变为 26°C 时记录一次)。:判断逻辑,current_value!若当前温度与前一行的温度不同(或为第一条记录),则保留该行。的技术,常用于时间序列或状态日志中。:将连续相同值的记录合并,只保留断点处的记录。保留断点处的记录(即温度变化时的第一条)。原始数据表 sensor_data。最终仅保留值变化的断点记录。获取前一行的温度值。 阅读详情

相关推荐

协方差矩阵

对两个类内协方差矩阵进行对角化,可以将它们变换为对角矩阵。这个过程可以通过对每个协方差矩阵进行特征值分解来实现,从而得到它们的特征向量和特征值,进而得到它们的对角矩阵形式。这个过程的意义在于,它可以帮助我们找到一个新的坐标系,使得在这个坐标系下,每个特征之间都是独立的,从而简化了计算。具体来说,当我们使用对角协方差矩阵作为特征向量的坐标系时,它意味着每个特征之间都是相互独立的,从而方便了进一步的分析和处理。在实际应用中,对角化协方差矩阵可以用于降维、特征选择和分类等任务。

m0_55196097的博客 1万+

几种常用的排序算法(c语言实现)

概述最近重新回顾了一下数据结构和算法的一些基本知识,对几种排序算法有了更多的理解,也趁此机会通过博客做一个总结。

蜗牛的书的博客 4万+

南大计算机2024保研笔试:编译原理等5门专业课考点分布与408复习避坑指南

本文详细解析了南京大学计算机2024保研笔试的考点分布与复习策略,重点突出编译原理(占比28%-32%)和离散数学的特色考核。提供跨课程复习方法、真题题型分析及高效备考建议,帮助考生突破传统408框架,应对南大独特的命题风格。

weixin_29304985的博客 345

常用排序算法分析实现(C语言)

最近复习了一下内部排序的几种排序算法,并用c语言实现(都是以数组形式存储非负整数数据的,非链表)。此次实现的排序算法分别是冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序,基数排序。下面分别对这几种算法进行分析(均是由小到大排序): 冒泡排序 void maopao(int arr[]) { int i,j,flag,temp; for(i=MAX-1;i>0;i–)

Mr.Buffoon 920

【教程4>第4章>第12节】通过FPGA实现基于FFT变换的频偏估计和补偿

基于FFT变换的频偏估计和补偿,其基本原理如下:而频偏补偿的目的是将频偏后的信号频谱移回原来的位置。

FPGA/MATLAB学习教程/源码/项目合作开发 882

SAP-ABAP:新手入门篇——从0到1写出你的第一个ABAP Hello World程序并完成调试运行

本文是ABAP开发入门指南,详细介绍如何创建并运行第一个"Hello World"程序。主要内容包括:通过SE38事务码进入ABAP编辑器;创建以Z/Y开头的程序并保存为本地对象;编写简单的WRITE输出语句;完成语法检查、激活和执行流程;以及初步体验调试功能。文章特别强调ABAP开发的规范要求,如程序命名规则、激活与保存的区别等,并提供了详细的步骤说明和常见问题提示,帮助零基础开发者快速上手ABAP编程。

baidu_35680696的博客 479

常见的几种内排序算法以及实现(C语言)

所有未排序的数组是经过检查合法的 主要的内排序包括冒泡、插入、希尔、堆排序、归并、快速、桶排序等 冒泡排序 冒泡排序应该是排序中最简单的算法了 主要思路如下: 1: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2:对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3:针对所有的元素重复以上的步骤,除了最后一个。

大树的专栏 1万+

用Verilog搭建PCIe控制器核心模块

PCIe控制器是硬件设计的核心模块,负责实现设备与主机之间的高速通信。本文将以Verilog语言为例,分步骤讲解如何从零构建一个简化的PCIe控制器核心模块,涵盖事务层(TLP)生成、数据链路层(DLLP)处理和物理层(PHY)接口适配。目标是为嵌入式开发者、FPGA工程师提供一个可扩展的硬件设计框架。​。

xiaoheshang_123的博客 280

C语言实现各种排序(1)

#include&lt;stdio.h&gt; //排序分为插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序(桶排序) //1.1 //直接插入排序,较为简单,思路为从第二个数开始逐个将其插入前面有序的序列中 //平均时间复杂度为O(N2),最快时间复杂度为O(N),最坏时间复杂度为O(N2),空间复杂度为O(1) void InsertSort(int *a,in...

各种排序算法的C语言实现 634

如何安装最新版本的 SAP ABAP Development Tool ( ADT ) ,并且能够随时升级

下载链接:https://tools.hana.ondemand.com/#abap 首先安装 Eclipse IDE for Java Developers 找到适合自己操作系统的 Eclipse 安装包: 安装之后,打开Eclipse: Install -> New Softwares, 输入 url:https://tools.hana.ondemand.com/latest 全部安装: 安装完毕之后,新建一个 ABAP Project,本地 SAP GUI 里添加的系统,会自动带出来:

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4281

电能质量仿真:电能质量改善措施仿真_(12).电能质量改善措施综合仿真案例

假设我们有一个微电网系统,该系统包含分布式电源(如光伏板、风力发电机)、储能设备、负荷和电网连接。电压波动:由于负荷的波动和分布式电源的间歇性输出,系统电压出现了不稳定的情况。谐波污染:非线性负荷和逆变器的运行导致系统中出现了显著的谐波污染。频率偏差:分布式电源的波动和负荷的突变导致系统频率出现了偏差。我们需要通过仿真来评估这些问题的影响,并提出相应的改善措施。

2401_87715305的博客 1360

常用7种简单排序算法总结(C语言实现)

冒泡排序插入排序选择排序:归并排序:堆排序:/* 这是一个常用算法总结的程序 包括 1.冒泡排序(Bubble Sort) 2.选择排序(Selection Sort) 3.插入排序(Insertion Sort) 4.希尔排序(Shell Sort) 5.归并排序(Merge Sort) 6.堆排序(Heap Sort) 7.快速排序(Quick Sort) 以上七种算法对数组int A[] =...

a951030393的博客 1万+

LeRobot 入门教程(十一)π0(Pi0)π0.5(Pi0.5)训练、推理、部署

本文介绍了Physical Intelligence公司开发的π₀和π₀.₅系列通用机器人控制视觉-语言-动作模型。π₀作为首款基础模型,融合流匹配、跨实体训练等技术,支持50Hz高频控制。π₀.₅是其升级版,通过异构数据协同训练解决开放世界泛化问题,在Libero基准测试中表现优异。文章详细说明了两个模型的安装要求、使用方法、训练策略及关键参数配置,包括混合精度训练、梯度检查点等优化技术,为机器人在多样化场景中的语义理解和动作控制提供了完整解决方案。

2506_90492529的博客 5039

排序及几种常用的排序算法(C语言实现)

排序的定义: 即使得序列成为一个按关键字有序的序列;常见的为数组排序,所以关键字就是下标 排序的稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的 内排序...

Dawn_xumujie的博客 626

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

排序算法c语言和oc实现的,几种常用的排序算法,OC实现

1、冒泡排序原理是:比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每一个相邻元素作同样的工作,从开始第一对到结尾的最后一对,重复以上步骤,直到没有任何一对数字需要比较。n个元素比较n-1趟每趟比较次数=数组元素个数-趟数OC代码实现:+ (void)buddleSort:(NSMutableArray *)array{if(array == nil || array.count == 0...

weixin_42509409的博客 203

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【趣学C语言和数据结构100例】

【趣学C语言和数据结构100例】

LucianaiB的博客 1318

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

几种常用的查找和排序算法

几种常用的查找和排序算法发表于:2008年4月1日 13时53分7秒阅读(1)评论(0)本文链接:http://user.qzone.qq.com/40348105/blog/1207029187 几种常用的查找和排序算法 #includ

wflishh的专栏 803

排序算法简介及其C实现

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   排序算法(Sorting Algorithm)是计算机算法的一个组成部分。   排序的目标是将一组数据 (即一个序列) 重新排列,排列后的数据符合从大到小 (或者从小到大) 的次序。这是古老但依然富有挑战的问题。Donald Knuth的经典之作《计算机程序设计艺术》(

cling2010的专栏 415

纸上谈兵: 排序算法简介及其C实现

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 排序算法(Sorting Algorithm)是计算机算法的一个组成部分。 排序的目标是将一组数据 (即一个序列) 重新排列,排列后的数据符合从大到小 (或者从小到大) 的次序。这是古老但依然富有挑战的问题。Donald Knuth的经典之作《计算机程序设计艺术》(...

weixin_30568591的博客 72

数据结构--常用排序算法

排序算法的稳定性的定义 例如一组未被排序的数中{B,A1,D,C,A2}存在一对或多对相同的数 据A1,A2排序前A1的位置在A2前面,如果使用排序算法后A1,A2的相 对位置保持不变{A1,A2,B,C,D},那么我们称这个算法是稳定的。 注:排序算法是否为稳定的是由具体算法决定的,不稳定的算法在某种条件下可以变为稳定的算法,而稳定的算...

Important_的博客 635

C排序算法

  几个常用的排序算法:插入排序、快速排序、归并排序 #include <stdio.h> #include <stdlib.h> #include <stdbool.h> /************************************************ * 插入排序法 * 第1次循环: 5, 3, 4, 6, 2...

weixin_30363817的博客 57

排序算法:选择排序、插入排序、希尔排序

常规函数均采用如下形式(字符型排序):#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; /*交换字符串两项*/ void exchange(char *in, int i1, int i2) { char ch = (char)in[i1]; in[i1] = in[i2]; ...

RToax 490

数据结构:排序算法

作者:Vamei 出处:http://www.cnblogs.com/vamei    排序算法(Sorting Algorithm)是计算机算法的一个组成部分。   排序的目标是将一组数据 (即一个序列) 重新排列,排列后的数据符合从大到小 (或者从小到大) 的次序。这是古老但依然富有挑战的问题。Donald Knuth的经典之作《计算机程序设计艺术》(The Art o

a793620101的博客 847

常用排序算法总结

闲来无事,对常用的排序算法做一下总结。首先看一下这张总结表: 容易被忽略的事排序算法的稳定性。    排序算法稳定性的简单形式化定义为:如果Ai = Aj,排序前Ai在Aj之前,排序后Ai还在Aj之前,则称这种排序算法是稳定的。通俗地讲就是保证排序前后两个相等的数的相对顺序不变。   对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必须对算法进行分析从

hunter800421的专栏 316
上一篇: 一种巧妙的内存池算法(HeapBlock)
下一篇: linux下GBK->UTF-8文件编码批量转换脚本
风捂九天
博客等级 码龄15年 2粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值