当前位置:首页 » 操作系统 » 常用vb算法

常用vb算法

发布时间: 2024-06-30 20:50:04

❶ 索引排序vb算法原理

快速从一个大数据集中找出某个字段等于确定值的记录。
vb内部排序7大算法:1、冒泡排序2、直接选择排序(StraightSelectSort)(BubbleSort)3、直接插入排序(StraightInsertionSort)4、希尔排序(ShellSort)5、快速排序(QuickSort)6、归并排序(MergeSort)7、堆排序(HeapSort)。
索引是一种利用某种规则的数据结构与实际数据的关系加快数据查找的功能;索引数据节点中有着实际文件的位置,因为索引是根据特定的规则和算法构建的,在查找的时候遵循索引的规则可以快速查找到对应数据的节点,从而达到快速查找数据的效果;其实宏观来说索引其实是一种概念而不是具体的某项技术,只是我们在某个技术中运用得比较广泛和鲜明(比如说数据库)渐渐的有了特定领域的标签,其实在生活中索引的使用无处不在,比如说:书本里的目录;读书时的座位号,考试编号都有类似索引的功能。

❷ VB算法问题,一个堆数字中凑出指定数字

数据20-30个,这个高效与低效,运行时间应该差不了多少吧!
我给个简单的算法:
1,将这些数据读入一个数组a()
2,对数组内的数据进行升序排序
3,依次从数组中取一个数与其他数进行求和
1)先算两个数之和100的。从a(0)开始,当a(i)>50时,即可跳出循环,开始进行三个数之和是100的计算
2)当a(i)>34时,跳出循环,进行四个数之和是100的计算
3)当a(i)>25时,跳出循环,进行五个数之和是100的计算
依次类推

❸ VB 缁勫悎绠楁硶

Dim str(6), str1(15), str2(500), str3(20) As String
Dim i, j, k, m, n, sc, st(6), num(15) As Integer
Dim sn As Boolean
For i = 1 To 6
str(i) = CStr(i)
Next
'绠楁硶
'6涓鏁板瓧缁勫悎涓嶅悓镄勪袱浣嶆暟
m = 1
For i = 1 To 6
For j = 1 To 6
If j > i Then
str1(m) = str(i) + str(j) '12,...16,23,...26,34,35,36,45,46,56 鍏15涓
m = m + 1
End If
Next
Next
'15涓鏁颁腑鎶3涓锛孋15(3)锛屾湁455绉岖粍钖
m = 1
For i = 1 To 15 - 2
For j = i + 1 To 15 - 1
For k = j + 1 To 15
str2(m) = str1(i) + str1(j) + str1(k) '121314,121315,...454656
m = m + 1
Next
Next
Next
'浠庣粍钖堜腑阃夋嫨 1涓鏁板瓧浠呭嚭鐜1娆 镄勬暟
n = 1
For i = 1 To m - 1
sn = False
For j = 1 To 6 '鍒ゆ柇鏁板瓧
st(j) = 1 '鏁板瓧浣岖疆𨱌傚瓨
st(j) = InStr(1, str2(i), j) '鏁板瓧浣岖疆
sc = st(j) '鏁板瓧浣岖疆𨱌傚瓨
For k = 2 To 6 '鍒ゆ柇浣岖疆
st(j) = InStr(k, str2(i), j) '鏁板瓧浣岖疆
If st(j) > sc Then
sn = True
End If
Next
Next

If sn = False Then
str3(n) = str2(i)
n = n + 1
End If
Next
'鏄剧ず缁撴灉
For i = 1 To n - 1
Text1.Text = Text1.Text + Mid(str3(i), 1, 2) + " " + Mid(str3(i), 3, 2) + " " + _
Mid(str3(i), 5, 2) + " " + Chr(13) + Chr(10) //涓鍏15涓
Next

❹ VB阶乘的算法

求阶乘的两种算法

方法一(计数循环)

使用For语句。

Function Factorial(n As Integer) As Long
On Error GoTo Hander
Dim i As Long
Factorial = 1

For i = n To 1 Step -1
Factorial = Factorial * i
Next i

Exit Function

Hander:
MsgBox "数值过大!", vbExclamation, "Error"
Resume Next

End Function

方法二(递归)

简单地说,递归就是一个过程调用过程本身。
思路为:n! = n * (n-1)!

Function Factorial(n As Integer) As Long
On Error Goto Hander

If n > 0 Then
Factorial = n * Factorial(n - 1)
Else
Factorial = 1
End If
Exit Sub

Hander:
Msgbox "数值过大!",vbExclamation,"Error"
Resume Next

End Function

例如,当 n=5 时,求 Factorial(5) 的值变为 5 * Factorial(4)。而 Factorial(4) 又可变为 4 * Factorial(3) ......,Factorial(2)又可变为 2 * Factorial(1),这时 Factorial(1) = 1 已知,递归调用停止,其执行结果为 5 * 4 * 3 * 2 * 1,即 5! 。

过程中还是用了错误陷阱(On Error...),以防数值过大发生溢出错误。

❺ VB涓璁捐$畻娉曪纴鍒ゆ柇镆愪竴涓鏁版槸涓嶆槸锲炴枃鏁帮纸鐢ㄦ枃瀛楀彊杩板氨鍙浠ヤ简锛

2绉嶆柟娉,
1,鏄浣跨敤VB镊甯︾殑鍑芥暟StrReverse , 涓涓鏁板瓧,琚缈昏繃𨱒ヤ互钖,杩桦拰铡熸暟瀛楃浉钖,灏卞彲浠ュ垽鏂鏄锲炴枃鏁颁简

2.浣跨敤寰鐜,姣忔¢兘2绔鍙栨暟瀛,閮界浉钖,灏卞彲浠ュ垽鏂涓哄洖鏂囨暟, 褰撴湁涓嶅悓镞,璺冲嚭寰鐜,涓嶆槸锲炴枃鏁

❻ vb 缂栫▼ 瀵瑰凡鐭ュ瓨鍦ㄥ湪鏁扮粍涓镄6涓鏁,鍒嗗埆閲囩敤阃夋嫨娉曞啋娉℃硶瀹炵幇浠庡皬鍒板ぇ镄勬帓搴忋

1銆佸啋娉℃硶锛堥掑烇级 绠楁硶镐濇兂锛(灏嗙浉闾讳袱涓鏁版瘆杈冿纴澶х殑璋冨埌钖庡ご) 1锛夋湁n+1涓鏁帮纸瀛樻斁鍦ㄦ暟缁刟(n)涓锛夛纴绗涓瓒熷皢姣忕浉闾讳袱涓鏁版瘆杈冿纴澶х殑璋冨埌钖庡ご锛岀粡n娆′袱涓ょ浉闾绘瘆杈冨悗锛屾渶澶х殑鏁板凡钬沧矇搴曗濓纴鏀惧湪链钖庝竴涓浣岖疆锛屽皬鏁颁笂鍗団沧诞璧封濓绂 2锛夌浜岃稛瀵逛綑涓嬬殑n涓鏁帮纸链澶х殑鏁板凡钬沧矇搴曗濓级鎸変笂娉曟瘆杈冿纴缁弉-1娆′袱涓ょ浉闾绘瘆杈冨悗寰楁″ぇ镄勬暟锛 3锛変緷娆$被鎺锛宯+1涓鏁板叡杩涜宯瓒熸瘆杈冦
For i=0 To n - 1
For j = 0 To n-1-i
If a(j) > a(j+1) Then
temp=a(j)
a(j)=a(j+1)
a(j+1)=temp
End if
Next j
Next i钬树竴姝ヤ竴姝ュ皢澶х殑鏁板瓧娌夊埌搴曢儴

2銆侀夋嫨娉曟濇兂锛 1锛夊规湁n+1涓鏁扮殑搴忓垪锛埚瓨鏀惧湪鏁扮粍a(n)涓锛夛纴浠庝腑阃夊嚭链灏忥纸鍗囧簭锛夋垨链澶э纸闄嶅簭锛夌殑鏁帮纴涓庣1涓鏁颁氦鎹浣岖疆锛 2锛夐櫎绗1 涓鏁板栵纴鍏朵綑n涓鏁颁腑阃夋渶灏忔垨链澶х殑鏁帮纴涓庣2涓鏁颁氦鎹浣岖疆锛 3锛変緷娆$被鎺锛岄夋嫨浜唍娆″悗锛岃繖涓鏁板垪宸叉寜鍗囧簭鎺掑垪銆
渚嬶细For i = 0 To n - 1
p = i
For j = i + 1 To n
If a(p) > a(j) Then
p = j
Next j
temp = a(i)
a(i) = a(p)
a(p) = temp
Next i

绠楁硶寮勬竻妤氭ラや简锛屾牴鎹阃昏緫灏卞彲浠ュ啓鍑烘潵浜哵_^锛屾湜閲囩撼(𨱄檕𨱄)鍝

热点内容
安卓手机如何打开bc文件 发布:2024-07-02 20:09:56 浏览:969
宽带密码什么样 发布:2024-07-02 19:47:24 浏览:119
plsqlif 发布:2024-07-02 19:33:25 浏览:889
androidtab滑动切换 发布:2024-07-02 19:01:26 浏览:388
手机单页源码 发布:2024-07-02 18:54:21 浏览:494
多模式mm脚本 发布:2024-07-02 18:54:16 浏览:247
怎么上传证件 发布:2024-07-02 18:48:46 浏览:300
数据库应用系统的开发 发布:2024-07-02 18:43:36 浏览:798
什么插件可以远程ftp 发布:2024-07-02 18:42:47 浏览:462
java快捷键大全 发布:2024-07-02 18:15:55 浏览:942