This blog is about the dotnet.all types of codes,news about dotnet including asp.net,vb.net,c# and know about new dotnet technology.programing in asp.net,vb.net,c#, ajax, AJAX tech support for .net and discuss the new technology in dotnet.ncluding asp.net,vb.net,c# and know about new dotnet technology.programing in asp.net,vb.net,c#, ajax, AJAX tech support for .net and discuss the new technology in dotnet.asp.net programming,dot net programming,dotnet programs,dotnet source code,source code.

Free Hosting

Free Hosting

Tuesday, November 11, 2008

C# Sorting Algorithms(CSharp)

In my free time i will try to add other algorithms. Theses include Shaker Sort, Comb Sort,Heap Sort ext. to learn more about Theses algorithms go to http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html


static class Sorting
{
public static void QuickSort(int[] numbers, int array_size)
{
q_sort(numbers, 0, array_size - 1);
}
private static void q_sort(int[] numbers, int left, int right)
{
int pivot, l_hold, r_hold;

l_hold = left;
r_hold = right;
pivot = numbersleft;
while (left < right)
{
while ((numbersright >= pivot) && (left < right))
right--;
if (left != right)
{
numbersleft = numbersright;
left++;
}
while ((numbersleft <= pivot) && (left < right))
left++;
if (left != right)
{
numbersright = numbersleft;
right--;
}
}
numbersleft = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if (left < pivot)
q_sort(numbers, left, pivot-1);
if (right > pivot)
q_sort(numbers, pivot+1, right);
}
public static void BubbleSort(int[] numbers, int array_size)
{
int i, j, temp;
for (i = (array_size - 1); i >= 0; i--)
{
for (j = 1; j <= i; j++)
{
if (numbersj-1 > numbersj)
{
temp = numbersj-1;
numbersj-1 = numbersj;
numbersj = temp;
}
}
}
}
public static void ShellSort(int[] numbers, int array_size)
{
int i, j, increment, temp;
increment = 3;
while (increment > 0)
{
for (i=0; i < array_size; i++)
{
j = i;
temp = numbersi;
while ((j >= increment) && (numbersj-increment > temp))
{
numbersj = numbersj - increment;
j = j - increment;
}
numbersj = temp;
}
if (increment/2 != 0)
increment = increment/2;
else if (increment == 1)
increment = 0;
else
increment = 1;
}
}
public static void SelectionSort(int[] numbers, int array_size)
{
int i, j;
int min, temp;
for (i = 0; i < array_size-1; i++)
{
min = i;
for (j = i+1; j < array_size; j++)
{
if (numbersj < numbersmin)
min = j;
}
temp = numbersi;
numbersi = numbersmin;
numbersmin = temp;
}
}
public static void InsertionSort(int[] numbers, int array_size)
{
int i, j, index;
for (i=1; i < array_size; i++)
{
index = numbersi;
j = i;
while ((j > 0) && (numbersj-1 > index))
{
numbersj = numbersj-1;
j = j - 1;
}
numbersj = index;
}
}
public static void MergeSort(int[] numbers, int[] temp, int array_size)
{
m_sort(numbers, temp, 0, array_size - 1);
}
private static void m_sort(int[] numbers, int[] temp, int left, int right)
{
int mid;
if (right > left)
{
mid = (right + left) / 2;
m_sort(numbers, temp, left, mid);
m_sort(numbers, temp, mid+1, right);
merge(numbers, temp, left, mid+1, right);
}
}
private static void merge(int[] numbers, int[] temp, int left, int mid, int right)
{
int i, left_end, num_elements, tmp_pos;

left_end = mid - 1;
tmp_pos = left;
num_elements = right - left + 1;
while ((left <= left_end) && (mid <= right))
{
if (numbersleft <= numbersmid)
{
temptmp_pos = numbersleft;
tmp_pos = tmp_pos + 1;
left = left +1;
}
else
{
temptmp_pos = numbersmid;
tmp_pos = tmp_pos + 1;
mid = mid + 1;
}
}
while (left <= left_end)
{
temptmp_pos = numbersleft;
left = left + 1;
tmp_pos = tmp_pos + 1;
}
while (mid <= right)
{
temptmp_pos = numbersmid;
mid = mid + 1;
tmp_pos = tmp_pos + 1;
}
for (i=0; i <= num_elements; i++)
{
numbersright = tempright;
right = right - 1;
}
}


}

0 comments:

dotnet(.Net) Project Source code Downloads and Tutorials

Email Subscrption



Enter your email address:

Delivered by FeedBurner

Feedburner Count

Blog Archive

Unique Visitor

Design by araba-cı | MoneyGenerator Blogger Template by GosuBlogger