0013冒泡法排序之指针实现篇(非常精简的代码)

今天是10月之末,来一发曾经写的代码作为本月终结任务。下个月好好写,写有档次的原创技术博客。巴拉巴拉,闲话藏浪多。

用指针来作冒泡排序。

#include<iostream>
using namespace std;
void Sum(int* pPointer,int n)
{
	int i,j,t,p;
	for(i=0;i<n-1;i++)                          //i从0到n-1循环,总共n-1次循环
	{
		p=i;                                            //p最大为n-1
		for (j=i+1;j<n;j++)                    //j从1开始到n,总共循环n-1次            
		{
			if(*(pPointer+p)<=*(pPointer+j))
				p=j;
		}
		t=*(pPointer+i);                        //中间变量,用于存放相比较小的量
		*(pPointer+i)=*(pPointer+p);  //将较大者给小的量所在空间
		*(pPointer+p)=t;                      //再将中间量给较小者    
	}  
}
void main()
{
	int pnArray[10]={6,7,8,9,5,4,3,2,10,1};
	int i;
	Sum(pnArray,10);
	cout<<"排序后的数组为:"<<endl;
	for(i=0;i<10;i++)
		cout<<"      "<<pnArray[i]<<endl;
}

posted @ 2015-10-31 11:57  gendlee1991  阅读(42)  评论(0)    收藏  举报