• 自定义线性表


    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--

        每日一道理
    我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。
    #include<iostream>
    
    using namespace std;
    
    template<typename t>
    struct tcontainer
    {
    	virtual void push(const t&)=0;
    	virtual void pop() = 0;
    	virtual const t& begin() = 0;
    	virtual const t& end() =0;
    	virtual size_t size() = 0;
    };
    
    template<typename t>
    struct tvector:public tcontainer<t>
    {
    	static const size_t _step = 100;
    	tvector()
    	{
    		_size = 0;
    		_cap = _step;
    		buf = NULL;
    		re_capacity(_cap);
    	}
    	~tvector()
    	{
    		free(buf);
    	}
    	void re_capacity(size_t s)
    	{
    		if(!buf)
    			buf = (t*)malloc(sizeof(t)*s);
    		else
    			buf = (t*)realloc(buf,sizeof(t)*s);
    	}
    	virtual void push(const t& v)
    	{
    		if(_size>=_cap)
    			re_capacity(_cap+=_step);
    		buf[_size++] = v;
    	}
    	virtual void pop()
    	{
    		if(_size)
    			_size--;
    	}
    	virtual const t& begin()
    	{
    		return buf[0];
    	}
    	virtual const t&end()
    	{
    		return buf[_size-1];
    	}
    	virtual size_t size()
    	{
    		return _size;
    	}
    	const t& operator[] (size_t i)
    	{
    		if(i>=0&&i<_size)
    			return buf[i];
    	}
    
    private:
    	size_t _size;
    	size_t _cap;
    	t*buf;
    };
    
    int main()
    {
    	tvector<int> v;
    	for(int i=0;i<1000;i++)
    		v.push(i);
    	for(int i=0;i!=1000;i++)
    		cout<<v[i]<<endl;
    }

    文章结束给大家分享下程序员的一些笑话语录: 自行车
    一个程序员骑着一个很漂亮的自行车到了公司,另一个程序员看到了他,问 到,“你是从哪搞到的这么漂亮的车的?”
    骑车的那个程序员说, “我刚从那边过来, 有一个漂亮的姑娘骑着这个车过来, 并停在我跟前,把衣服全脱了,然后对我说,‘你想要什么都可以’”。
    另一个程序员马上说到, “你绝对做了一个正确的选择, 因为那姑娘的衣服你 并不一定穿得了”。

  • 相关阅读:
    Ubuntu开发环境配置
    win7和Ubuntu16.04之间相互远程控制
    QT学习之usb摄像头采集(Opencv+QT)[cvCapture,IplImage,QImage]
    Opencv 图像畸变矫正(after 相机标定, 获得内参和畸变参数)
    opencv角点检测、棋盘格检测、亚像素cvFindCornerSubPix()
    开始学习机加工钣金加工
    今夜的硬件之旅
    关于做实验
    机器学习部分题目
    ubuntu18.10配置git和github
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3049863.html
Copyright © 2020-2023  润新知