lintcode 入门 463整数排序

class Solution {
public:
    /*
     * @param A: an integer array
     * @return: 
     */
    void sortIntegers(vector &A) {
        	if(!A.empty())
	{
		int length = A.size();
		int * temp = new int[length];
		int i;
		for(i = 0;i < length;i++)
			temp[i] = A[i];
		A.clear();
		int x,y;
		int max;
		for(x = 0;x < length;x++)
		{
		    max = 0;
			for(y = 0;y < length-x;y++)
			{
				if(temp[max] < temp[y])
					max = y;
			}
			if(max != length-x-1)
			{
				int temps;
				temps = temp[max];
				temp[max] = temp[length-x-1];
				temp[length-x-1] = temps;
			}
		}
		for(i = 0;i < length;i++)
			A.push_back(temp[i]);
		delete temp;
	}
    }
};

     写这道题目的时候,虽然简单,但是并没有一遍通过。通过题目了解#include使用vector对象,vector v;
似乎需要使用模板。不过并不需要额外的命名空间。v.pushback()为唯一的放入方法,而v.at(i)比直接调用v[i]要慢.(后面更慢)
认识到:①vector,②iterator,③命名空间,④c++中的五种作用域—文件》》命名空间》》类》》函数》》复合语句,⑤虚函数,纯虚函数
,普通成员函数的区别,⑥稍微了解C++的内存模型,⑦vector::iterator表示在类的域中声明的类类型(这是通过typedef xx iterator)完成的
具体的请看MSDN系统中的Library,可以在CSDN的下载里找五个分开的包,博主就是从那里下载的(vc++6.0一般盗版的

都没有这个系统,而更高级的版本似乎都有这个MSDN帮助系统)


lintcode 入门 463整数排序_第1张图片

你可能感兴趣的:(记录)