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

Showing posts with label csharp sorting. Show all posts
Showing posts with label csharp sorting. Show all posts

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;
}
}


}

dotnet(.Net) Project Source code Downloads and Tutorials

Email Subscrption



Enter your email address:

Delivered by FeedBurner

Feedburner Count

Unique Visitor

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