zoukankan
html css js c++ java
快速排序(C#数据结构学习十)
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
SoloDataStructure
{
class
MyQuickSort
{
/**/
///
<summary>
///
快速排序算法
///
</summary>
///
快速排序为不稳定排序,时间复杂度O(nlog2n),为同数量级中最快的排序方法
///
<param name="arr">
划分的数组
</param>
///
<param name="low">
数组低端上标
</param>
///
<param name="high">
数组高端下标
</param>
///
<returns></returns>
static
int
Partition(
int
[] arr,
int
low,
int
high)
{
//
进行一趟快速排序,返回中心轴记录位置
//
arr[0] = arr[low];
int
pivot
=
arr[low];
//
把中心轴置于arr[0]
while
(low
<
high)
{
while
(low
<
high
&&
arr[high]
>=
pivot)
--
high;
//
将比中心轴记录小的移到低端
Swap(
ref
arr[high],
ref
arr[low]);
while
(low
<
high
&&
arr[low]
<=
pivot)
++
low;
Swap(
ref
arr[high],
ref
arr[low]);
//
将比中心轴记录大的移到高端
}
arr[low]
=
pivot;
//
中心轴移到正确位置
return
low;
//
返回中心轴位置
}
static
void
Swap(
ref
int
i,
ref
int
j)
{
int
t;
t
=
i;
i
=
j;
j
=
t;
}
static
void
QuickSort(
int
[] arr,
int
low,
int
high)
{
if
(low
<
high
-
1
)
//
当 arr[low,high]为空或只一个记录无需排序
{
int
pivot
=
Partition(arr,low,high);
QuickSort(arr,low,pivot
-
1
);
QuickSort(arr,pivot
+
1
,high);
}
}
static
void
Main(
string
[] args)
{
int
[] arr
=
new
int
[]
{
54
,
62
,
99
,
14
,
28
,
1
,
8
,
77
,
99
,
3
,
110
}
;
QuickSort(arr,
0
, arr.Length
-
1
);
Console.Write(
"
Data After QuickSort:
"
);
foreach
(
int
i
in
arr)
{
Console.Write(i
+
"
,
"
);
}
Console.ReadLine();
}
}
}
查看全文
相关阅读:
Eclipse 3.0.1插件方案(Java版) zt
Vs2003使用时出现这个问题,正在郁闷中,网上找了好久,居然看到同样问题,马上拷贝来:)开心中
Eclipse+Tomcat集成开发servletzt
管理定律
张小娴“禁果之味”
上海主要特色医院一览表
分布式网站数据库同步方案——sqlserver数据库同步复制,好文收藏之
Eclipse 插件汇总(转载+不断更新) zt
Eclipse零起步系列讲座 zt
结婚这件事
原文地址:https://www.cnblogs.com/solo/p/610139.html
最新文章
Enterprise Architect使用
EA入门
HTTP管线化(HTTP pipelining)
vector list deque
C++静态数据成员定义及应用浅谈
uva10465Homer Simpson
uva562Dividing Coins
hdu1059Dividing
uva10635Prince and Princess
hdu2084数塔
热门文章
uvalive2965Jurassic Remains
uva825Walking on the safe side
uva10891Game of sum
uvalive3882And then there was one
uva674Coin Change
数据库连接情况
存储过程执行情况
分区表
浅谈SQL Server中的快照(转)
MS SQL Server:分区表、分区索引 详解
Copyright © 2011-2022 走看看