快速排序代码
using System;
using System.Collections.Generic;
using System.Text;
namespace temp
{
public class QuickSort
{
/// <summary>
/// 排序
/// </summary>
/// <param name="numbers">待排序数组</param>
/// <param name="left">数组第一个元素索引Index</param>
/// <param name="right">数组最后一个元素索引Index</param>
private static void Sort(int[] numbers,int left,int right)
{
//左边索引小于右边,则还未排序完成
if (left < right)
{
//取中间的元素作为比较基准,小于他的往左边移,大于他的往右边移
int middle = numbers[(left + right) / 2];
int i = left - 1;
int j = right + 1;
while (true)
{
while (numbers[++i] < middle && i < right)
{ ;}
while (numbers[--j] > middle && j > 0)
{ ;}
if (i >= j) break;
Swap(numbers,i,j);
}
相关新闻>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- .NET简谈设计模式之(装饰者模式性能问题?)
- 让asp.net mvc的Action支持jQuery直接提交的javascript对
- 使用HttpWebRequest下载经过重定向的文件
- Add View -> Strongly-typed view ->Model Class
- Asp.net MVC源码分析--UrlRoutingModule与Service location的
- ASP.ENT前台更改绑定数据的日期格式
- .NET类库中发现设计模式:策略模式
- .Net插件框架的实现及分析(二)
- DCOM--高效率主从服务器程序的新概念
- C#高级编程:使用XPath命名空间中的类[2]



