划分算法由两个指针开始,分别指向数组的两头。在左边的指针向右移动,右边的指针向左移动。左边的指针leftPtr初始化为第一个数据项,右边的指针rightPtr初始化为数组的最后一项。算法如下:
import java.util.Random;
public class Partition {
private long[] theArr;
private int nElems;
public Partition(int max) {
theArr = new long[max];
nElems = 0;
}
public void insert(long value) {
theArr[nElems++] = value;
}
public int size() {
return nElems;
}
public void display() {
System.out.print("A = ");
for (int j = 0; j < nElems; j++) {
System.out.print(theArr[j] + " ");
}
System.out.println();
}
public int partitionIt(int left, int right, long pivot) {
int leftPtr = left - 1;
int rightPtr = right + 1;
while (true) {
// keep moving to right until current value is larger than pivot
while (leftPtr < right && theArr[++leftPtr] < pivot) {
//
}
// keep moving to left until current value is smaller than pivot
while (rightPtr > left && theArr[--rightPtr] > pivot) {
//
}
// if left pointer meet the right pointer, break
if (leftPtr >= rightPtr) {
break;
} else {
swap(leftPtr, rightPtr);
}
}
// return pivot position
return leftPtr;
}
public void swap(int dex1, int dex2) {
long temp = theArr[dex1];
theArr[dex1] = theArr[dex2];
theArr[dex2] = temp;
}
}
end.
分享到:
相关推荐
在IT领域,虽然"一个中心一个枢纽三个基地"的概念并非技术术语,但我们可以将这个理念应用于信息化城市建设,探讨如何利用Microsoft Word这样的文档处理工具和其他IT技术来支持这一战略定位。 首先,"一个中心"指的...
Abdennour-Helm 和 Venkataramanan (1998) 提出了一个新的基于网络中多元商品运输的二次整数模型。Hamacher (2004) 开发了关于解除无容量限制的节点选址问题到多重分配无容量限制的枢纽节点选址问题之间面约束的一般...
基于备选枢纽点集, 综合考虑乘客和运营者双方利益, 提出一个以枢纽辐射域最大、枢纽间相似度最小和土地成本最少的多目标枢纽布局优化模型, 并设计多目标遗传算法进行求解. 最后, 以大连市主城区的公交系统为例, 对...
在众多的课设项目中,“平山枢纽”作为一个综合性的水工设施设计,提供了一个极佳的学习平台。 平山枢纽的设计不仅仅是一项理论上的探讨,更是一个工程实践的演练。对于学习水工建筑的学生来说,这一设计项目是一个...
3. **模型建立**:构建了一个更加全面和复杂的模型,用以评估枢纽机场的选择及其对区域经济竞争力的影响。 #### 结果表示与分析 文章最后对所建立的模型进行了详细的分析与检验,包括结果的准确性、模型的有效性...
选择第一个元素作为枢纽元的实现可以在前一篇专题《快速排序的学问:霍尔快排的实现》中找到,而选择最后一个元素作为枢纽元的例子可以在《快速排序的过程》中看到。当输入数据随机时,这种策略是可行的,但在预排序...
综合能源系统计算程序是能源行业中一个重要的研究领域,它涉及到多能源形式的高效利用、转换和协调优化。在这个系统中,能量枢纽或能源枢纽扮演着关键角色,它们是连接不同能源网络的节点,负责能量的汇集、转换和...
不同于传统的枢纽选址问题的研究大多是基于枢纽之间的运输折扣因子的假设,本文采用基于流量的非线性费用函数来表示规模经济,从而使得所研究的问题是一个凹函数优化问题.为简化本文的问题,将目标函数分段线性化.基于...
总之,"枢纽振荡器 - 平均值"是MetaTrader 5的一个定制脚本,通过结合枢轴点分析和平均值处理,为交易者提供了一种工具来识别市场趋势和转折点,辅助决策。不过,要充分利用这种工具,需要对技术分析原理、MT5平台...
这个脚本,"Volatility pivot.mq5",是一个用MQL5语言编写的MetaTrader 5指标,它根据平均真实范围(AtR)来计算波动率枢纽点。 平均真实范围是衡量市场波动性的指标,由J. Welles Wilder Jr.在1978年提出。AtR计算的...
总而言之,枢纽机场中转水平的评价是一个多维度、复杂而系统的工作,涉及到航空运输网络的规划、航空运输经济学、机场运营管理等多个方面,需要多学科知识的综合应用和政策的支持。枢纽机场中转水平度量评价的研究,...
【枢纽与城市功能一体化】未来趋势是交通枢纽与城市功能更深层次的融合,如品川站和九龙站的实例所示,佛山西站设计也应借鉴这些经验,创建一个既满足交通需求又促进城市发展的综合性空间。 总结来说,佛山西站综合...
标题中的“行业分类-设备装置-以通航梯级枢纽为核心的水陆耦合集散交通系统构建方法”指的是一个关于交通工程领域的创新解决方案,特别是针对水上交通与陆地交通的协同设计。这种系统旨在提高交通运输效率,优化资源...
一个完善的信息化系统应当涵盖枢纽运行监测、乘客信息服务、综合运行信息管理、安全疏散应急管理和区域内运营调度等方面。例如,通过实时监控系统,管理者能够对交通枢纽的运营状态进行有效监控,确保运营的安全和...
应用场景一:多个应用程序需要监听设备发来的UDP数据,但设备只能将数据发送到一个目标地址,这时可利用UDP枢纽转发器监听此端口,然后将数据分别转发给多个目标。 应用场景二:设备利用UDP与厂家的演示程序通讯。现...
首先,“行业分类”意味着我们将讨论的是一个特定行业的标准或产品分类,可能是为了便于市场定位、产品设计或技术交流。其次,“设备装置”是一个宽泛的术语,通常包括机械、电子或其他类型的设备组件。最后,“枢纽...
综上所述,XX物流枢纽项目旨在打造一个高效、灵活且适应性强的物流服务体系,以满足不同行业的需求,推动天津开发区乃至全国的经济发展。通过集成化服务和智能化管理,该项目将助力制造业的优化升级,催生新的经济...