vb.net折半查找 c语言折半查找
VB.net, 如何判断一个字符串包含另一个字符串?
很简单,用字符串查找函数就可以实现了。
公司主营业务:成都网站制作、成都做网站、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出班玛免费做网站回馈大家。
当在StrB查找到StrA字符串时,返回肯定是非0的数,值就是True,找不到为0或者-1,值就是Flase
比如:
Dim StrA As String = "Time is Limited"
Dim StrB As String = "Time"
Dim Stu As Boolean= InStr(StrA, StrB)
这运行段代码,Stu值就是True了。
我觉得这样最简单有效。
我用VB.NET写的折半查找法哪出错了呢?
Sub Main()
Dim arr As Integer() = {2, 3, 7, 8, 12, 23, 34, 44, 45, 68}
Dim txt As New StringBuilder("显示A中元素:")
For Each i As Integer In arr
txt.Append(i).Append(" ")
Next
Console.WriteLine(txt.ToString)
Console.WriteLine("请输入查找数值:")
Dim num As Integer = CInt(Val(Console.ReadLine))
Console.WriteLine("你输入的数据是:" num.ToString)
Dim loca As Integer = Array.IndexOf(arr, num) + 1
If loca = 0 Then
Console.WriteLine(num "的位置在第" loca "个")
Else
Console.WriteLine("数组中无" num)
End If
Console.ReadLine()
End Sub
数组中搜索匹配值的索引,如果数组中没有重复的值,没必要弄那么复杂的循环,IndexOf函数就搞定了。
如果有重复的,用下面的循环,可以返回多个匹配值的索引;
Sub Main()
Dim arr As Integer() = {2, 3, 7, 8, 12, 12, 12, 23, 34, 44, 45, 68}
Dim txt As New StringBuilder("显示A中元素:")
For Each i As Integer In arr
txt.Append(i).Append(" ")
Next
Console.WriteLine(txt.ToString)
Console.WriteLine("请输入查找数值:")
Dim num As Integer = CInt(Val(Console.ReadLine))
Console.WriteLine("你输入的数据是:" num.ToString)
Dim length As Integer, counts As Integer() = New Integer() {}
For i As Integer = 0 To arr.Length - 1
If arr(i) = num Then
length = counts.Length
ReDim Preserve counts(length) : counts(length) = (i + 1)
End If
Next
length = counts.Length - 1
If length 0 Then
txt = New StringBuilder
txt.Append(num).Append("的位置在第")
For i As Integer = 0 To length
txt.Append(counts(i))
If i length Then txt.Append("|")
Next
txt.Append("个")
Console.WriteLine(txt.ToString)
Else
Console.WriteLine("数组中无" num)
End If
Console.ReadLine()
End Sub
vb.net InStrRev函数缺省不是从右往左数的吗,难道是我理解错了
MyPos = InstrRev("12345678","8",-1,1)
就是从最后搜索从最后一个字符位置开始。然后搜索从右到左继续进行,
读的位置是从左向右来读,所以是第八,位置是相对左边的!!
InstrRev("12345687","8",-1,1) '返回7
InstrRev("1834567","8",5,1)'从左边第五位开始向左搜索第一个8,返回2
InstrRev("1838567","8",5,1)'从左边第五位开始向左搜索第一个8,返回4
vb.net 中的split函数的应用?
就是拆分字符串嘛用一个例子就知道了s=split("赵,钱,孙,李",",")s是个字符串数组,这样的话,s中就有四个元素s(0)是赵s(1)是钱s(2)是孙s(3)是李比自己一个个赋值快多了
vb.net中提取一部分我要的字符串?
假设gps信息在字符串变量s中
Dim a() As String = s.Substring(s.IndexOf("$GPRMC")).Split(",")
MsgBox(a(1) " " a(3) " " a(5))
VB.net里的查找和替换怎么写
TextBox 有 SelectionStart 和 SelectionLength 两个属性,分别代表选中字符(也就是查找之后高亮的那部分)的起始位置和长度。
string 类型本身有方法 IndexOf(),可以获取某个字符串第一次出现的位置,把这个值赋值给 SelectionStart,把这个字符串的 Length 赋值给 SelectionLength,这就是查找并高亮功能了。
替换的话就是 Replace() 方法。
网站名称:vb.net折半查找 c语言折半查找
文章起源:http://pwwzsj.com/article/hhiois.html