⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vector.h

📁 32位嵌入式系统实现
💻 H
字号:
#ifndef VECTOR_H
#define VECTOR_H
//#include "timefft.h"

template <typename T> 
class Vector
{
private:
	T *pvector;
public:
	int number;
	Vector()
	:number (0)
    ,pvector (NULL)
	{
		pvector=(T*)malloc(sizeof(T)*number);
	}
	~Vector()
	{
		if(pvector!=NULL)
		{
			free(pvector);
			pvector=NULL;
		}
	}
	int push_back(T m)
	{
		number++;
		pvector=(T*)realloc(pvector,sizeof(T)*number);
		*(pvector+number-1)=m;
		return *(pvector+number-1);
	}
	int size()
	{
		return number;
	}
	bool remove(int k)
	{
	    if(k>number-1||k<0)
		{
			printf("Error! Data isn't existed!\n");
			return false;
		}
		else
		{
		    memmove(pvector+k,pvector+k+1,sizeof(T)*(number-1-k));
			number--;
			return true;
		}
	}
	bool insert(int k,T element)
	{
	    if(k<0||k>number)
		{
		    printf("Error! Line isn't existed!\n");
			return false;
		}
		else
		{
		    number++;
			pvector=(T*)realloc(pvector,sizeof(T)*number);
			memmove(pvector+k+1,pvector+k,sizeof(T)*(number-1-k));
			*(pvector+k)=element;
			return true;
		}

	}
	T find(int k)
	{
	    if(k<0||k>number)
		{
			printf("Error! Data isn't existed!");
			return -1;
		}
		else
		{
            return *(pvector+k);
		}
	
	}
	void display()
	{
		for (int i=0;i<number;i++)
		{  if (find(i)>=0)
		       printf("%d ",find(i));
		   else
			   printf("%d ",find(i)+256);
		}
		cout<<"The line has "<<number<<" datas."<<endl;
	}
	T* begin()
	{
		return pvector;
	}
	T* end()
	{
		return pvector+number;
	}
	bool empty()
	{
		if(number==0)
			return true;
		else
			return false;
	}
    
};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -