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://ybzwz.com/article/hhiois.html