C# เพื่อนๆพี่ๆคนไหน พอจะอธิบายการทํางานได้บ้างครับช่วนหน่อยครับ
เริ่มอธิบายตั้งแต่
static ไปจนถึง return -1;
ช่วยหน่อยนะครับ ขอบคุณครับ
Date :
2013-07-09 00:27:04
By :
ซูม
Code (C#)
static(เมธอดแบบไม่ต้องสร้างอินสแตน) int(ชนิดข้อมูลตัวเลข) binSearch(ชื่อเมธอด)(int[](ชนิดข้อมูลตัวเลขที่เป็นอาเรย์) arr(ชื่อตัวแปรพารามิเตอร์), int(ชนิดข้อมูลตัวเลข) value(ชื่อตัวแปรพารามิเตอร์)) {
int(ชนิดข้อมูลตัวเลข) upperBound(ชื่อตัวแปร), lowerBound(ชื่อตัวแปร), mid(ชื่อตัวแปร);
upperBound = arr.Length-1;(จำนวนของอาเรย์ในตัวแปรพารามิเตอร์ arr ลบด้วย 1 แล้วเก็บค่าเข้าไปให้ตัวแปร upperBound)
lowerBound = 0;(กำหนดให้ตัวแปร lowerBound มีค่าเป็น 0)
while(lowerBound <= upperBound)(วน loop ถ้าตัวแปร lowerBound น้อยกว่าหรือเท่ากับ upperBound จริงทำต่อไป) {
mid = (upperBound + lowerBound) / 2;(นำค่าของตัวแปร UpperBound บวกกับ LowerBound แล้วเก็บไว้ที่ตัวแปร mid)
if (arr[mid] == value)(ถ้าตัวแปรพารามิเตอร์ arr ดัชนีที่มีค่าเท่ากับค่าของตัวแปร mid เท่ากับ ค่าของตัวแปร value ให้ทำต่อไป)
return mid;(ส่งค่าตัวแปร mid กลับคืน)
else (มิฉะนั้นแล้วให้ทำข้างล่าง)
if (value < arr[mid])(ถ้าตัวแปร value มีค่าน้อยกว่าตัวแปรพารามิเตอร์ arr ที่มีดัชนีเท่ากับค่าของตัวแปร mid ให้ทำ)
upperBound = mid - 1;(ค่าของตัวแปร mid - 1 แล้วเก็บค่าไว้ในตัวแปร upperBound)
else (มิฉะนั้นแล้วให้ทำข้างล่าง)
lowerBound = mid + 1;(ค่าของตัวแปร mid + 1 แล้วเก็บค่าไว้ในตัวแปร lowerBound)
}
return -1;(คืนค่า -1 กลับไป)
}
Date :
2013-07-09 08:49:08
By :
01000010
อีก 2 โค้ด ใครพออธิบายได้มาช่วยๆหน่อยนะครับ
class CStack
{
private int p_index;
private ArrayList list;
public CStack()
{
list = new ArrayList();
p_index = -1;
}
public int count
{
get
{
return list.Count;
}
}
public void push(object item)
{
list.Add(item);
p_index++;
}
public object pop()
{
object obj = list[p_index];
list.RemoveAt(p_index);
p_index--;
return obj;
}
public void clear()
{
list.Clear();
p_index = -1;
}
public object peek()
{
return list[p_index];
}
static void Main(string[] args)
{
CStack alist = new CStack();
string ch;
string word = "sees";
bool isPalindrome = true;
for (int x = 0; x < word.Length; x++)
alist.push(word.Substring(x, 1));
int pos = 0;
while (alist.count > 0)
{
ch = alist.pop().ToString();
if (ch != word.Substring(pos, 1))
{
isPalindrome = false;
break;
}
pos++;
}
if (isPalindrome)
Console.WriteLine(word + " is a palindrome.");
else
Console.WriteLine(word + " is not a palindrome.");
Console.Read();
}
}
}
Date :
2013-07-09 15:20:24
By :
ซูม
class CallStackClass
{
static void Main(string[] args)
{
int num, baseNum;
Console.Write("Enter a decimal number: ");
num = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter a base: ");
baseNum = Convert.ToInt32(Console.ReadLine());
Console.Write(num + " converts to ");
MulBase(num, baseNum);
Console.WriteLine(" Base " + baseNum);
Console.Read();
}
static void MulBase(int n, int b)
{
Stack Digits = new Stack();
do
{
Digits.Push(n % b);
n /= b;
} while (n != 0);
while (Digits.Count > 0)
Console.Write(Digits.Pop());
}
}
}
Date :
2013-07-09 15:20:55
By :
ซูม
javascript:void(0);javascript:void(0);javascript:void(0);javascript:void(0);javascript:void(0);
Date :
2013-07-09 18:33:14
By :
ผ่านมา
Load balance : Server 03