سلام بروبچ
بچه ها کسی هست جستجو دودویی و ترتیبی آرایه رو تو vb.net بلد باشه بنویسه
دمتون گرم اگه میدونین بزارین که لازم شده مرسی ازتون
جستجو دودویی و ترتیبی وی بی .نت
مدیر انجمن: rosa_127
-
- کاربر ساده
- پست: 58
- تاریخ عضویت: یکشنبه 27 مرداد 1387, 7:23 pm
Re: جستجو دودویی و ترتیبی وی بی .نت
Function BinarySearch(arr As Variant, search As Variant, _
Optional lastEl As Variant) As Long
Dim index As Long
Dim first As Long
Dim last As Long
Dim middle As Long
Dim inverseOrder As Boolean
' account for optional arguments
If IsMissing(lastEl) Then lastEl = UBound(arr)
first = LBound(arr)
last = lastEl
' deduct direction of sorting
inverseOrder = (arr(first) > arr(last))
' assume searches failed
BinarySearch = first - 1
Do
middle = (first + last) \ 2
If arr(middle) = search Then
BinarySearch = middle
Exit Do
ElseIf ((arr(middle) < search) Xor inverseOrder) Then
first = middle + 1
Else
last = middle - 1
End If
Loop Until first > last
End Function
*****************************************************************
امیدوارم به کارت بیاد.
Optional lastEl As Variant) As Long
Dim index As Long
Dim first As Long
Dim last As Long
Dim middle As Long
Dim inverseOrder As Boolean
' account for optional arguments
If IsMissing(lastEl) Then lastEl = UBound(arr)
first = LBound(arr)
last = lastEl
' deduct direction of sorting
inverseOrder = (arr(first) > arr(last))
' assume searches failed
BinarySearch = first - 1
Do
middle = (first + last) \ 2
If arr(middle) = search Then
BinarySearch = middle
Exit Do
ElseIf ((arr(middle) < search) Xor inverseOrder) Then
first = middle + 1
Else
last = middle - 1
End If
Loop Until first > last
End Function
*****************************************************************
امیدوارم به کارت بیاد.
برای تعجیل در ظهور و سلامتی امام زمان (ع) یک صلوات بفرستید.
-
- کاربر ساده
- پست: 58
- تاریخ عضویت: یکشنبه 27 مرداد 1387, 7:23 pm
Re: جستجو دودویی و ترتیبی وی بی .نت
مرسی دوستان
ببیینین کجای این کد ایراد داره راهنماییم کنین یعنی تصحیحش کنین مرسی
ببیینین کجای این کد ایراد داره راهنماییم کنین یعنی تصحیحش کنین مرسی
کد: انتخاب همه
Module Module1
Sub Main()
' SERCH BINARY '
Dim i, s, a(4), low, mid, high As Integer
Console.WriteLine()
For i = 1 To 4
Console.Write(" Enter Number " + i.ToString + ": ")
a(i) = Console.ReadLine()
Next
Console.WriteLine(" ------------------- ")
Console.Write(" Please Number For Serch :")
s = Console.Read()
Console.WriteLine(" ------------------- ")
low = 0
high = i - 1
While (low <= high)
mid = (low + high) / 2
If (s = a(mid)) Then
Console.Write(" peyDa shod " + a(mid).ToString)
ElseIf(s > a(mid)) Then
low = mid + 1
End If
End While
End Sub
End Module