算法学习之排序算法(1)—— 冒泡排序

冒泡排序是一种稳定的排序算法,原理就是遍历整个序列,将最大的(升序)放到最后,以此类推。此算法需要执行1+2+3+...+n = \frac{n(n+1)}{2}次运算,所以冒泡排序的时间复杂度为O(n^{_{2}})。

// 冒泡
void BubbleSort(int * pArry,int iCount)
{
	int c = 0;
	for (int i = 1; i < iCount; i++)
	{
		c++;
		int iTmp = pArry[0];
		for (int j = 0; j < iCount-i; j++)
		{
			c++;
			if (pArry[j] < pArry[j+1])
			{
				pArry[j] += pArry[j+1];
				pArry[j+1] = pArry[j] - pArry[j+1];
				pArry[j] = pArry[j] - pArry[j+1];
			}
		}
	}

	printf("icount:%d\n", c);

}

 

你可能感兴趣的:(C/C++,算法)