• 自定义线性表


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

        每日一道理
    我把卷子摊在课桌上,恨不得敲一阵锣,叫大家都来看看我这光彩的分数。
    #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;
    }

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

  • 相关阅读:
    回溯 八皇后问题 与 0-1背包
    技术学习
    线程间通信
    计算机网络基础知识总结(各种协议)
    大数据Phoenix专题
    java中HashMap详解
    使用LocalBroadcastManager解决BroadcastReceiver安全问题
    Paint类常用方法
    链表结构对象池的一种实现
    android内存及内存溢出分析
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3049863.html
Copyright © 2020-2023  润新知