插入排序和选择排序的实现

简单排序算法:冒泡排序,选择排序和插入排序的c++实现 所有代码的实现采用了模板类,如果对模板类不熟悉,可以把T换成 int 一、冒泡排序 冒泡排序的思想:相邻元素两两比较,如果逆序则交换 冒泡排序的实现思路:i 从数组的第二个下标开始循环(即以下标为1开始),每次从最后一个元素开始,依次与前一个元素对比交换,每循环一次,则前i个元素为有序的。 优点:冒泡排序在无下标的几个元素排序时,比其他排序算法更直接(比如三个数,找出其中中间大小的 阅读详情

1.插入排序

            这种方法思路是有一个空数组每次按大小将数据插入进去(放到数组最后,或者与数组中成员交换位置之后成员都向后移动),到最后就可以得到一个按顺序排列的数组,这里用Python加以实现(降序排列)

def sort(x):
    for i in range(2,len(x)):
        key=x[i]
        j=i-1
        while i>0 and x[j]>key:
            x[j+1]=x[j]
            j=j-1
            x[j+1]=key
    return x

可以计算出增长量级为O(n^2)

2.选择排序

      这种算法思路更为直接,找到数组中最大的元素放在数组第0位,第二大的元素放在数组第1位.....

这里用Python实现(降序排列)

def choose(x):
    count=0
    y=[]
    for num in range(len(x)):
        y.append(0)
    for i in range(len(x)):
        for j in range(len(x)):
            if i != j and x[i]<x[j]:
                count+=1
        y[count]=x[i]
        count=0
    return y
    
            
#算法分析
#算法思路
def gaijin(x):
    temp=0                             #1
    count=0                            #1
    for i in range(len(x)):            #x
        for j in range(len(x)):        #x^2
            if i != j and x[i]<x[j]:   #x(x-1)
                count+=1               #y
        temp=x[count]                  #x-1
        x[count]=x[i]                  #x-1
        x[i]=temp                      #x-1
        count=0                        #x-1
    return x                           #1

from random import *
x=[1,2,3,4,5]
shuffle(x)
print(x)
第一个函数需要新建一个列表 改进后不再需要建立新的列表

计算出2增长量级O(n^2)

插入排序、选择排序和快速排序的算法实现 设计三种排序算法:插入排序、选择排序和快速排序,对数组按非降序进行排序 阅读详情

相关推荐

TP-LINK电信定制摄像头刷机教程:解锁官方功能与固件升级

固件是嵌入式设备的操作系统,控制着硬件的基础功能。其工作原理是通过更新或替换存储在设备非易失性存储器中的程序代码,从而改变设备的行为和功能。这项技术的核心价值在于赋予用户对设备的完全控制权,能够解除厂商或运营商的软件限制,实现功能自定义、性能优化和安全更新。在智能家居、网络设备和物联网领域,固件升级与刷机是常见的工程实践,用于修复漏洞、增加新特性或适配不同平台。本文聚焦于利用TFTP恢复模式这一通用网络设备维护机制,针对TP-LINK电信定制版摄像头,提供一套完整的刷机方案,将设备刷入官方通用版固件,以解除

weixin_34205826的博客 490

插入排序和选择排序

/** * 插入排序 * * @param a */ def insertionSort(a: Array[Int]): Unit = { for (i &lt;- 1 until a.length) { var j = i - 1 val current = a(i) while (j &gt;= 0 &amp...

Clarke 218

华为海思IC笔试通关秘籍:物理/电路/工艺三大方向高频考点解析(附真题)

本文深度解析华为海思IC笔试中物理设计、电路设计和工艺制造三大方向的高频考点与备考策略。针对华为海思IC笔试机考的特点,提供了方向选择建议、核心知识梳理及真题实战技巧,帮助考生构建系统性复习框架,高效备战,提升通关成功率。

mars5的博客 1308

冒泡排序,选择排序,插入排序思想及代码实现

冒泡排序,选择排序,插入排序思想及代码实现

2301_77958892的博客 1023

光模块封装工艺简介

光模块按照部件可以分为芯片、光器件、光模块三个层级;按照应用领域大概可分为电信应用、数通应用两个领域;按照内部器件的封装工艺可分为TO、Box、COB三大类。 但是,无论是哪种类型的光模块,其生产工艺基本上可以分为封装、测试两大块。   那什么叫做器件封装呢?我的理解器件封装就是利用胶水、焊料、机械、热量等手段把器件按照一定的先后次序结合形成一个整体的过程,就好像早上吃的煎饼,把面粉、鸡蛋、脆饼、烤肠、葱花等这些“器件”,按照一定的顺序,通过食用油、甜面酱、加热、卷起来等手段结合到一起,形成了美味的

qq_33253182的博客 2814

使用ST-LINK烧录stm32教程说明

使用ST-LINK烧录stm32

qq_34426854的博客 1万+

算法实验室-15-插入排序

理解插入排序 什么是插入排序?这个问题得问链表,链表本身是拥有一个方法,叫insert(ListNode node)的函数 实现这个函数其实还是很简单的 //插入函数 public void insert(ListNode parent,ListNode value){ ListNode temp = parent.next; parent.next = value; value.next = temp; } 那么,拥有这个插

qq_37080133的博客 239

intel-VROC raid卡驱动 centos7.9

u盘进入系统,按e,在出现下面在quiet前面输入inst.dd initcall_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。进入系统,按e,在出现下面在quiet前面输入inst.dd inicll_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。驱动完成后,在输入 c 回车, 引导过程开始,进入安装界面。输入1 ,选择这个ISO驱动文件里的rpm包。输入1 ,选择这个ISO驱动文件里的rpm包。vi编辑 /etc/default/grub。

dacming的博客 4540

第十五周项目四 验证算法——直接插入排序

问题及代码: /* *烟台大学计算机与控制工程学院 *作 者:孙丽玮 *完成日期:2016年12月9日 *问题描述:用序列{57,40,38,11,13,34,48,75,6,19,9,7}作为测试数据,运行并本周视频中所讲过的算法对应程序,观察运行结果并深刻领会算法的思路和实现方法。 (1)直接插入排序;(2)希尔排

AFencounter的博客 630

LangChain .NET:C#开发者构建AI应用的RAG框架与实战指南

大语言模型(LLM)作为当前人工智能的核心技术,通过深度学习海量文本数据,掌握了强大的语言理解和生成能力。其原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,从而实现对复杂语义的建模。这一技术价值在于能够将非结构化的自然语言转化为可计算、可推理的表示,为各类智能应用提供认知基础。在实际工程实践中,LLM常被应用于构建检索增强生成(RAG)系统和AI智能体(Agent)。RAG通过结合外部知识库检索与LLM生成,有效提升了问答的准确性和事实性,是构建企业知识库、智能客服等场景的关键技术。

weixin_42538175的博客 705

PCL 计算点云的体积密度(C++详细过程版)

本文提出了一种基于点云体积密度的计算与可视化方法。算法通过KdTree搜索每个点的邻域,利用球体积公式计算单位体积内的点数作为密度值,并存储在点云强度属性中。代码实现了点云读取、密度计算和可视化功能,使用PCL库完成邻域搜索和密度渲染。结果显示,该方法能有效反映点云密度分布,为后续点云处理提供密度特征参考。文章附有完整C++代码实现和可视化效果图,适用于点云密度分析和特征提取应用。

点云侠的博客 308

数据结构与算法课程笔记(十五)

实验十五 插入排序与选择排序一、 实验目的二、 实验环境三、 实验内容和步骤四、 小结 一、 实验目的 (1) 掌握直接插入、简单选择排序算法的思想; (2) 掌握各排序算法的程序实现。 二、 实验环境 Windows 7以上版本的操作系统,Visual Studio 2010以上版本编程环境。 三、 实验内容和步骤 根据直接插入排序和简单选择排序的算法思想,分别写出序列{30,20,50,40,25}的直接插入排序和简单选择排序的变化过程,并标示出每趟排序的有序区范围,然后使用目录sort下的文件sor

Motseturtle的博客 5902

AMDGPU驱动中Doorbell与Event机制简要对比

摘要:AMDGpu驱动中,Doorbell和Event是两种异步通知机制。Doorbell是CPU→GPU的单向硬件通知,通过写MMIO寄存器触发GPU拉取任务,延迟低且无需内核介入,适用于队列任务提交。Event是GPU→CPU的双向同步通知,基于中断和内核事件对象,支持阻塞等待,用于任务完成或异常上报。核心区别在于方向、用途和实现方式:Doorbell侧重任务触发,Event侧重状态反馈。两者配合实现高效的任务下发与完成通知流程。

图形/计算GPU的驱动与虚拟化技术分享园地 1850

Python3 实现选择排序和插入排序

Python3 实现选择排序和插入排序一、选择排序的实现原理思路代码实现小结二、插入排序实现原理思路代码实现小结 一、选择排序的实现 原理思路 对给定的一组数据,经过第一轮依次比较,找到最小的那个数,然后把最小的那个数和第一个数交换; 然后继续对不包括第一个数的剩余的数进行第二轮依次比较,找到最小的那个数,然后和第二个数进行交换; 以此类推,直至进行比较的数只剩一个停止。 代码实现 def s...

Jock2018的博客 616

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

选择排序和插入排序的基本实现

一.选择排序 1.选择排序的基本特性: 1)稳定性:稳定 2)平均时间复杂度:O(n2) 3)最小时间复杂度:O(n2) 4)最大时间复杂度:O(n2) 5)空间复杂度:O(1) 2.算法描述: 1)选择最小的移动到最前面 3.算法的实现 long time1=System.nanoTime(); int[] list = {3, 44, 38, 5, 47, 15...

qq_33661641的博客 187

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JavaScript实现冒泡排序、选择排序和插入排序

在前几话话中深入研究了一下冒泡排序及其优化 JavaScript实现冒泡排序及双向冒泡排序 今天总结一下排序算法中也极为经典的选择排序和插入排序 一、回顾冒泡排序 为了更好的比较这几种算法,首先回顾一下之前冒泡排序的思想和简单实现 这个网站可以看到这几种排序的动图,可以手动演示一下,了解这几种排序的思想 冒泡排序算法动图展示 1、冒泡排序的思路 (1)方向:冒泡排序是向右排的 (2)第一轮会从第一个数开始跟相邻的右边的数比较,比右边大就交换一下,这样不断重复跟右边相邻的数字比较,就像冒泡一样,冒出了最大的数

Yolanda_NuoNuo的专栏 579

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C语言实现冒泡排序,选择排序和插入排序

C语言实现冒泡排序,选择排序和插入排序 #include<stdio.h> /*冒泡排序*/ int BubbleSort(int *array,int num) { int i=0,j=0,n=0; for(i=0;i<num;i++) for(j=0;j<num-1;j++) if(array[j]>array[j+1]) { array[j]=array[j]+array[j+1]; array[j+1]=array[j]-array[j+1]

msdn_yyhh的博客 501

Js实现冒泡排序、选择排序和插入排序

1.冒泡排序 描述: 两两比大小,换位置 时间复杂度:O(n²) bubbleSort(arr) { for (var i = 0; i < arr.length - 1; i++) { //每一次遍历,最大值都会被放在最后的位置,所以不用再判断最后两位,故:arr.length-1-i for (var j = 0; j < arr.length -...

qq_27851967的博客 328

插入排序和选择排序(c实现)

插入排序 思想: 1. 取出一个元素从后往前遍历 2. 如果原数组中元素比他大,那么数组中该元素就往后移动 3. 直到数组中元素比取出来的元素小,那么取出的元素就放在他的后面,或者直到0,就放在开头。 代码示例: #include <stdio.h> void insertSort(int *arr, int n) { int i, j, key; for(i = ...

iamluping的博客 268

[排序算法]:Java实现选择排序和插入排序

插入排序 原理:      首先,需要通过构建一个有序序列,对该序列从后往前扫描,让未排序元素轮流和其进行比较,直到找到相应插入位置。   //插入排序 public static void insertSort(int[] a) { int j ,temp; //第一个元素默认已排序,从第二个元素开始比较 for(int i = 1; i < a.length; i++) {

我只是个程序员。 530

选择排序与插入排序递归和迭代分别实现

目的是从中理解递归的思想 文章目录一、选择排序二、插入排序三、Java实现 一、选择排序 选择排序的思想是:选出最小元素并交换到第一个位置上后,问题转换为对其余元素的排序。这也是他的递归关系所在。 选择排序的递归算法: SELECTSORTREC sort(1, n, A) end SELECTSORTREC sort(s, t, A)//对A[s..t]按升序选择排序。 if s<t then //等于的话就该退出循环了 k=s for j=k+1 to t//选出A[s..t]中

搭车去柏林的博客 490

选择排序和插入排序(C++实现)

公共函数,用以测试数组相等 namespace SortCommon { bool ArrEqual(int arr1[], int arr2[], int n) { for (int i = 0; i < n; i++) { if (arr1[i] != arr2[i]) { return false; } } return true; } } 选择排

一只羊 683

冒泡排序、插入排序和选择排序Java实现

数据结构与算法—排序(一) 这一篇博客主要讲冒泡排序,插入排序,选择排序这三种排序 冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。 实现代码: // 冒泡排序,a表示数组,n表示数组大小 public void bubbleSort(int[] a, int n) { if (n <= 1) return; fo

weixin_44501322的博客 243

python语言实现冒泡排序、插入排序和选择排序

冒泡排序 冒泡排序是一种稳定的排序算法,及相同元素排序前后位置不发生调换,时间复杂度为O(n^2). 冒泡排序的核心思想如下: 依次比较相邻元素,若前者大于后者则交换位置后继续向后比较,若小于则直接继续向后比较 比如:对于ll=[8, 5, 4, 6] 1.第一轮比较,比较前ll=[8, 5, 4, 6] 首先比较8和5,8大于5,交换位置,继续向后比较;由于位置交换,比较8和4,8大于4,交...

bkr129的博客 527

插入排序、冒泡排序和选择排序详解与Java实现

插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较,无论什么时候手中的牌都是排序好的。     JAVA实现该算法如下: Java代码   public void insert

古韦的专栏 1275

Java实现选择排序和插入排序

1、选择排序(Selection Sort) 表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。理论上讲,选择排序可能也是平时排序一般人想到的最多的排序方法了吧。 选择排序(Selection-sort)的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序...

ellen_mei_hua 262
上一篇: Python正则表达式
下一篇: Python的网络编程基础
shu_8708
博客等级 码龄10年 45粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值