⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新浪网友的quicksort.h

📁 改进的快速排序程序
💻 H
字号:
bool XL_QuickSort(unsigned*p,int num)
{
	int i;
	int n_small=1,n_big=num-1;//升序
	unsigned m_key=p[0];
	bool xiaokong=true;//小头有空
	int m_free = 0;
	
	if(num<=1)return true;///递归终止条件
	for(i=0;i<num-1;i++)
	{
		if(xiaokong)//小头有空
		{
			if(p[n_big]<m_key)
			{
				p[m_free]=p[n_big];
				m_free=n_big;
				xiaokong=false;
			}
			n_big--;
		}
		else//大头有空
		{
			if(p[n_small]>m_key)
			{
				p[m_free]=p[n_small];
				m_free=n_small;
				xiaokong=true;
			}
			n_small++;
		}
	}
	if(m_free != 0)
	{
		p[m_free]=m_key;
	}
	//printf("num=%d[", num);
	//for( i = 0; i< num; i++) printf("%d,", p[i]);
	//printf("]key=%d, mid = %d, small=%d, big=%d, from %d num %d && from %d num %d\n",
	// m_key, m_free, n_small, n_big, 0,m_free, m_free+1, num-(m_free+1) );
	if(XL_QuickSort(&p[0],m_free) && XL_QuickSort(&p[m_free+1],num-(m_free+1) ) )
	{
		return true;
	}
	return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -