partitionNew//QuickSort3

本文详细阐述了一种改进的快速排序算法实现过程,通过优化关键步骤,显著提高了排序效率。文章介绍了算法的核心思想,包括分区操作的改进,以及如何通过调整分区条件来提升性能。此外,还提供了代码示例,帮助读者理解并实现这一优化版的快速排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int partitionNew(int n[],int left,int right)
{
int lo;
lo=left;
int val=n[left];
int hi=right;
while(lo!=hi){
	while(lo!=hi)
	{
		if(n[hi]<val)
		{
		   printf("%d<%d:n[%d]<n[%d]\n",n[hi],n[lo],hi,lo);
		   n[lo]=n[hi];	
		   printf("n[%d]=n[%d]\n",lo,hi);
		   printArry(n,8);
		   break;
		}
		else
		--hi;
	}
	while(lo!=hi)
	{
		if(n[lo]>val)
		{
			printf("%d>%d:n[%d]>n[%d]\n",n[lo],n[hi],lo,hi);
			n[hi]=n[lo];
			printf("n[%d]=n[%d]\n",hi,lo);
			printArry(n,8);
			break;
		}
		else
		++lo;
	}
}

n[lo]=val;
printArry(n,8);
static counter=0;
printf("%d:val=%d,return %d\n",++counter,val,lo);

return lo;//<=>return hi
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值