快速排序c#
来源:互联网 发布:bt云播软件 编辑:程序博客网 时间:2024/05/16 18:35
都说快速排序是冒泡排序的改进,说实话,这点我还真不太明白,貌似两者没有直接关系啊,不知道改善的入手点是哪里,不管怎样,先来看看算法吧。
思路:
将一个数组一分为二,一个部分均比另一部分小,然后再分别对两部分进行排序,依此类推,即可完成排序。
算法:
using System;
using System.Collections.Generic;
using System.Text;
namespace sort
{
class Program
{
static void Main(string[] args)
{
int[] array = new int[] { 10, 3, 2, 5, 33, 23, 42, 26, 78 };
QSort qSort = new QSort();
qSort.QuitSort(array, 0, array.Length - 1);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
Console.Read();
}
}
class QSort
{
internal void QuitSort(int[] array, int low, int high)
{
if (array.Length > 1 && low < high)
{
int middle = sort(array, low, high);
QuitSort(array, 0, middle - 1);
QuitSort(array, middle + 1, high);
}
}
private int sort(int[] array, int low, int high)
{
int key = array[low];
while (low < high)
{
if (key > array[high])
{
break;
}
high--;
}
array[low] = array[high];
while (low < high)
{
if (key < array[low])
{
break;
}
low++;
}
array[high] = array[low];
array[low] = key;
return low;
}
}
}
- C#算法 快速排序
- C# 快速排序
- 快速排序算法c#
- 快速排序---c#实现
- 快速排序c#
- C#快速排序
- C#快速排序算法
- C#实现快速排序
- C#快速排序集合
- C#快速排序
- C#快速排序
- C# 实现快速排序
- C#快速排序算法
- C# 快速排序
- 【C#数据结构】快速排序
- 快速排序 c#实现
- C#之快速排序
- C#快速排序
- hibernate中Session.load 与Session.get的区别
- 关于ServiceStateTracker.java中setPowerStateToDesired函数的疑问
- 内存管理(二)
- POJ 1504
- c和java中的二进制文件
- 快速排序c#
- 身份证互转的类
- image与byte数组的转换
- 1我来说说技术们
- apache的作用和tomcat的区别
- 我不够成熟
- 学习安慰自己的情绪
- 学习安慰自己的情绪
- 学习安慰自己的情绪