快速排序代码

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:

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下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • ASP.NET&#160;GridView列表代码示例
  • 经典C++程序1
  • 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1