繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> 算法/线程 >> C#算法-------(四)快速排序

C#算法-------(四)快速排序

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:31  文字大小:【】【】【
简介:using System; namespace QuickSorter { public class QuickSorter {   private void Swap(ref int l,ref int r)   {    int s;    s=l;   &nb...
关键字:C# 算法 排序 快速

using System;

namespace QuickSorter

{

public class QuickSorter

{

private void Swap(ref int l,ref int r)

{

int s;

s=l;

l=r;

r=s;

}

public void Sort(int [] list,int low,int high)

{

int pivot;

int l,r;

int mid;

if(high<=low)

return;

else if(high==low+1)

{

if(list[low]>list[high])

Swap(ref list[low],ref list[high]);

return;

}

mid=(low+high)>>1;

pivot=list[mid];

Swap(ref list[low],ref list[mid]);

l=low+1;

r=high;

do

{

while(l<=r&&list[l]

l++;

while(list[r]>=pivot)

r--;

if(l

Swap(ref list[l],ref list[r]);

}while(l

list[low]=list[r];

list[r]=pivot;

if(low+1

Sort(list,low,r-1);

if(r+1

Sort(list,r+1,high);

}

}

public class MainClass

{

public static void Main()

{

int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};

QuickSorter q=new QuickSorter();

q.Sort(iArrary,0,13);

for(int m=0;m<=13;m++)

Console.WriteLine("{0}",iArrary[m]);

}

}

}

责任编辑:admin
相关文章