快速排序第二种(易于理解的)

static void Main(string[] args)
{
ArrayList at=new ArrayList();
int[] number=new int[]{5679,4,36,67976,124,235,453,436,6589,0,5,6,346,457,34,3642};
foreach(int i in number)
{
at.Add(i);
}
ArrayList al=QuickSort(at);
foreach (int j in al)
{
Console.WriteLine(j);
}
Console.ReadKey();
}
static ArrayList QuickSort(ArrayList list)
{
if (list.Count <= 1) return list;
int middle = list.Count / 2;
int value=(int)list[middle];
list.RemoveAt(middle);
ArrayList left = new ArrayList();
ArrayList right = new ArrayList();
for (int i = 0; i < list.Count; i++)
{
if ((int)list[i] < value)
{
left.Add(list[i]);
}
else
{
right.Add(list[i]);
}
}
ArrayList newarray = QuickSort(left);
newarray.Add(value);
newarray.AddRange(QuickSort(right));
return newarray;
}

转载于:https://www.cnblogs.com/xinshijie/archive/2012/05/25/2518221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值