首页 > 编程知识 正文

手机游戏按键精灵(按键精灵怎么打开脚本)

时间:2023-05-03 20:46:59 阅读:77590 作者:3092

金猪脚本(原自由脚本)以键向导教学为中心,涉及UiBot、Python、Lua等脚本编程语言,教学包括全自动办公脚本、游戏辅助脚本、引流脚本想编写脚本或想学习按钮精灵的人可以添加按钮精灵学习交流群。554127455学习途中不再孤单,金猪脚本会和你一起成长。

在什么情况下使用泡沫排序? 例如,学生考试成绩的排名、财务部门支出清单的排名……等等。 可以实现把很多乱七八糟的东西按照从大到小的顺序排列,同时也可以知道其中的最大值和最小值。

今天,我将向大家介绍如何使用游戏拍卖,通过泡沫排序来实现。

算法原理:

气泡排序(BubbleSort ) ) ) ) ) )。

泡沫排序是最慢的排序算法,但对初学者来说是最简单的排序方法。 是实际运用中效率最低的算法。 通过一次又一次比较数组中的各要素,使大数据下沉,使小数据上升。 那是O(N^2)的算法。

计算复杂性

O(N^2)的算法是什么? 这其实是衡量算法速度快慢的一个指标,被称为算法的时间复杂度。 时间越复杂,算法的执行效率越低。

当然,并不是越快的算法就越好。 算法还有一个指标。 空间的复杂性,也就是算法占用多少空间的指标。 这与内存密切相关。 一个算法可能很快,但消耗很多内存,不一定能消耗。

所以,根据情况,我们需要根据各自的要求,选择最佳算法。

计算时间复杂性的方法

时间复杂性其实是有算法的语句在循环中执行的次数。

例如,鼓泡对齐法原理For i=1 To n

For j=1 To n气泡排序NextNext复制代码

该算法的时间复杂度是“气泡排序”一词的执行次数。 i=1时,执行了n次For j=1 To n:气泡排序:Next、“气泡排序”语句。

当i=2时,For j=1To n:气泡排序:Next和“气泡排序”语句又执行了n次。

当i=3时,For j=1To n:气泡排序:Next和“气泡排序”语句又执行了n次。

.

当i=n时,For j=1To n:气泡排序:Next和“气泡排序”语句又执行了n次。

综上所述,“泡沫排序”一词执行了n个n次,即n*n=n^2次。 因此,鼓泡排序的时间复杂度为n ̄2,我们用o(n ̄2表示)

注:1.算法内语句的执行次数为常数时,时间复杂度为o(1)。

2 .如果给定算法的时间复杂度为o(n ) O(n^2) 3n4,则我们只取方程中的最大乘方,即O(n^2)。

算法实现

算法说明:

'泡沫排序

经过//n-1圈的次排序完成,其时间复杂度为o(n^2)

//优点:1.代码简单易懂2 .具有稳定性

1 .获取物品价格并存储在数组su中

2 .获取数组的数量,即项目的总数为m

3 .循环开始

>

4.获取到数组su(0)的数值

5.su(0)与数组中剩余的数值对比(su(1)-su(M)),若数值大于su(0),则相互调换

6.Su(0)存储数组中最大的值

7.循环到数组最后一个数值su(M)

8.结束第一次循环,数组的第一个元素su(0)为数组中最大值

9.从su(1) 到su(M),重复5-8步骤,实现su数组最后为从大到小的降序排列。


代码具体实现:

Dim i,j su= "105875|502150|411400|63525|111925|90750" //获取到的物品价格su=Split(su, "|")M = UBound(su)//升序排序 For i = 0 To UBound(su)-1 //i=0 的时候 j循环是从 1循环到数组最小不 第一轮循环,su(0)和su (1)-su(5)进行比较 选择6个数中最小的数放到su(0) 第二轮循环 su(1)和su(2)-su(5)比较For j = i+1 to UBound (su)If int(su(i)) > int (su(j)) Then // 数组是字符串的 所以需要用int改为数值型 否则会出现错误tran = su(j)su(j) = su(i)su(i) = tran //如果前一个数比后一个数大,就交换位置 End If Next Next// 降序排序For i = 0 To UBound(su)-1 For j = i+1 to UBound (su)If int(su(i))tran = su(j)su(j) = su(i)su(i) = tran //如果后一个数比前一个数大,就交换位置 End If NextNext

复制代码

代码的每一次实现

原数组: "105875|502150|411400|63525|111925|90750"

第一次循环:

取su(0)的值105875,与su(1)对比。su(1)>su(0),则相互交换:

"502150|105875|411400|63525|111925|90750"

然后拿su(0)的值502150,与su(2)-su(5)对比,没有比su(0)更大的值,不再交换,结束。

第一次循环结束:"502150|105875|411400|63525|111925|90750"

第二次循环:

取su(1)的值105875,与su(2)的值411400对比,su(2)>su(1),则相互交换:

"502150|411400|105875|63525|111925|90750"

然后拿su(1)的值411400,与su(3)-su(5)对比,没有比su(1)更大的值,不再交换,结束。

第二次循环结束:"502150|411400|105875|63525|111925|90750"

第三次循环:

取su(2)的值105875,与su(3)的值63525对比,su(3)

su(2)的值105875与su(4)的值111925对比,su(4)>su(2),则相互交换:

"502150|411400|111925|63525|105875|90750"

然后拿su(2)的值111925,与su(5)的值90750对比,su(5)

第三次循环结束:"502150|411400|111925|63525|105875|90750"

第四次循环:

取su(3)的值63525,与su(4)的值105875对比,su(4)>su(3),相互交换:

"502150|411400|111925|105875|63525|90750"

取su(3)的值105875,与su(5)对比,su(5)第四次循环结束:"502150|411400|111925|105875|63525|90750"

第五次循环:

取su(4)的值63525,与su(5)的值90750对比,su(4)>su(5),相互交换,循环结束。

第五次循环结束:"502150|411400|111925|105875|90750|63525"

此时数组已循环到最后,完成降序排列。


知识拓展

按数量级递增排列,常见的时间复杂度有:

常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),..., k次方阶O(nk),指数阶O(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。


附上大大写好的冒泡排序VBS,各位大大可以直接调用使用哦~~

冒泡排序.rar (825 Bytes, 下载次数:111)

调用方法:

Include "C:冒泡排序.vbs" //地址是下载的冒泡排序vbs的所在地址xxdlz su,1 // 语法: xxdlz 数组名称,升序或降序(1是升序,2是降序) Sub Include(tz_var_file) //添加这段调用代码 Dim tz_var_fso, tz_var_f, tz_var_s Set tz_var_fso = CreateObject("Scripting.FileSystemObject") Set tz_var_f = tz_var_fso.OpenTextFile(tz_var_file) tz_var_s = tz_var_f.ReadAll Call tz_var_f.Close() Call ExecuteGlobal(tz_var_s) Set tz_var_fso = NothingEnd Sub

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。