数据结构排序的各种操作(C++实现)

//冒泡排序的优化算法
void BubbleSort(int a[],int n)
{
	int i,j,temp;
	for(i=0;ia[j])
				k=j;//k记最小的数的位置  如果k记录最大的数的位置(if(a[k]=privot)
			--high;
		a[low]=a[high];
		while(low= a[i])
			break;
		else
		{
			a[i/2] = a[i];
			i = 2 * i;
		}
	}
	a[i/2] = t;
}
void Sort(int *a,int len)
{
	int i,t;
	for(i = len/2;i>=1;i--)  //第一次创建大根堆
		CreateHeap(a,i,len);
	for(i = len;i>=1;i--)
	{
		t = a[1];
		a[1] = a[i];
		a[i] = t;
		CreateHeap(a,1,i-1);
	}
}

void main()
{
	int a[]  = {0,6,5,4,3,2,1,7,8,9};
	int n = sizeof(a) / sizeof(a[0])-1;
	Sort(a,n);
	for(int i = 1;i<=n;i++)
		cout<

 

你可能感兴趣的:(数据结构之各种排序)