快速排序代码
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 DataTable和Dataset序列化成Json格式
- MVC3+Entity Framework 实现投票系统(二)
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注
- .NET简谈互操作(四:基础知识之Dispose非托管内存
- JQuery+Asp.net MVC实现用户名重名查询
- Web Service学习笔记(4)
- 使用ASP.NET MVC3+EF+Jquery制作文字直播系统(四
- .NET设计模式:工厂方法模式(Factory Method)[1]
- 聊聊.net程序设计——浅谈使用VS2010建模拓展(下



