110,538
社区成员
发帖
与我相关
我的任务
分享
public static string GetMD5String(string password)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] data = md5.ComputeHash(Encoding.Default.GetBytes(password));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sb.Append(data[i].ToString("x2"));
}
return sb.ToString();
}
class BinarySearch
{
public int search(int[] B, int p, int q, int key)
{
int result = -1;
if (p >= q && key == B[p])
{
result = p;
}
else
{
int k = (p+q)/2;
if (key == B[k])
result = k;
else
result = (key < B[k]) ? search(B, p, k-1, key) : search(B, k+1, q, key);
}
return result;
}
}
class Program
{
public static void Main()
{
Random rnd = new Random();
int[] data = new int[10];
for (int i=0; i<10; i++)
{
data[i] = i;
Console.Write("{0}\t",data[i]);
}
Console.WriteLine();
BinarySearch s = new BinarySearch();
int t = s.search(data, 0, 9, 5);
Console.Write(t);
}
}
C#冒泡排序
static List<int> list = new List<int>() { 72, 54, 59, 30, 31, 78, 2, 77, 82, 72 };
static void Main(string[] args)
{
Bubble();
PrintList();
}
static void Bubble()
{
int temp = 0;
for (int i = list.Count; i > 0; i--)
{
for (int j = 0; j < i - 1; j++)
{
if (list[j] > list[j + 1])
{
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
PrintList();
}
}
private static void PrintList()
{
foreach (var item in list)
{
Console.Write(string.Format("{0} ", item));
}
Console.WriteLine();
}
选择排序
class Program
{
static List<int> list = new List<int>() { 72, 54, 59, 30, 31, 78, 2, 77, 82, 72 };
static void Main(string[] args)
{
Choice();
PrintList();
}
static void Choice()
{
int temp = 0;
int minIndex = 0;
for (int i = 0; i < list.Count; i++)
{
minIndex = i;
for (int j = i; j < list.Count; j++)
{
//注意这里比较的是list[minIndex]
if (list[j] < list[minIndex])
{
minIndex = j;
}
}
temp = list[minIndex];
list[minIndex] = list[i];
list[i] = temp;
PrintList();
}
}
private static void PrintList()
{
foreach (var item in list)
{
Console.Write(string.Format("{0} ", item));
}
Console.WriteLine();
}
}
static void Main(string[] args)
{
int[] arr = { 3, 5, 2, 1, 6, 9, 7, 4, 8, 10 };
QuickSort(arr, 0, arr.Length - 1);
foreach (int i in arr)
Console.WriteLine(i);
Console.ReadLine();
}
public static void QuickSort(int[] arr,int pnLow,int pnHigh)
{
if (pnLow >= pnHigh)
return;
int PivotIndex = QuickSortOne(arr, pnLow, pnHigh);
QuickSort(arr, pnLow, PivotIndex - 1);
QuickSort(arr, PivotIndex + 1, pnHigh);
}
public static int QuickSortOne(int[] arr, int pnLow, int pnHigh)
{
int Pivot = arr[pnLow];
int i = pnLow, j = pnHigh;
while (i < j)
{
while (arr[j] >= Pivot && i < j) j--;
arr[i] = arr[j];
while (arr[i] <= Pivot && i < j) i++;
arr[j] = arr[i];
}
arr[i] = Pivot;
return i;
}