zoukankan
html css js c++ java
快速排序(QuickSort)用C# 实现的小例子
class
QuickSort
{
public
void
Sort(
int
[] data,
int
start,
int
end)
{
if
(start
>=
end)
return
;
if
(start
+
1
==
end)
{
if
(data[start]
>
data[end])
Swap(data, start, end);
return
;
}
int
indexL
=
start
+
1
, indexR
=
end;
while
(indexL
<
indexR)
{
//
Get from left
while
(indexL
<=
end
&&
data[start]
>=
data[indexL])
indexL
++
;
//
Get from right
while
(indexR
>
start
&&
data[start]
<
data[indexR])
indexR
--
;
if
(indexL
<
indexR)
{
Swap(data, indexR, indexL);
}
}
if
(indexL
-
1
!=
start)
Swap(data, start, indexL
-
1
);
Sort(data, start, indexL
-
2
);
Sort(data, indexL, end);
}
private
void
Swap(
int
[] data,
int
x,
int
y)
{
data[x]
=
data[x]
+
data[y];
data[y]
=
data[x]
-
data[y];
data[x]
=
data[x]
-
data[y];
}
}
文章首发
查看全文
相关阅读:
android 各国语言对应的缩写
Android 程式开发:(十三)特殊碎片 —— 13.2 DialogFragment
Android Bitmap和Canvas学习笔记 [转]
Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
XAMPP 在windows下无法启动Apache解决方案
深入浅出Java并发包—锁机制(一)
深入浅出Java并发包—锁(Lock)VS同步(synchronized)
深入浅出Java并发包—CAS机制
深入浅出Java并发包—指令重排序
深入浅出Java并发包—原子类操作
原文地址:https://www.cnblogs.com/skywind/p/1131612.html
最新文章
/dev/mem可没那么简单
Android性能优化Google课程翻译一:Render----OverDraw实战
Android开发之布局文件里实现OnClick事件关联处理方法
未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 '***' 附近)中指定了非布尔类型的表达式。
Ajax学习(一)——与Ajax的初次相识
Andaroid L新特性
Eclipse 常用快捷键的使用
如何把自己规划成高级
Android APK反编译详解
Python 安装
热门文章
重裝系統,磁盤消失解決方法
Android SDK Manager 更新失败的解决方法
WAMP Server助你在Windows上快速搭建PHP集成环境
Android 隐藏Fragment
.git 目录文件介绍
Window下SVN使用总结
人不成熟的六大特征
实现手电筒Flash Light 关键代码
Settings.System.getInt获取Setting里的设置信息
为App签名(为apk签名)
Copyright © 2011-2022 走看看