稀疏矩阵,用链表实现这样可以大大节省空间,其运用也很简单:
template<class T>
struct Node{
T value;
T colun;
Node *next;
};
template <class T>
void IntialRetange(int n,Node<T> **p)
{
p=(Node<T>**)malloc(n*sizeof(Node<T>));
for(int i=0;i<n;i++){
p[i]->next=NULL;
}
}//初始化其空间
template <class T>
void insertValue(const T &value,const T &colun,Node<T>**p,int local)
{
//local作为行的索引
Node<T>*con=(Node<T>*)malloc(sizeof(Node<T>));
con->value=value;
con->colun=colun;
p[local]->next=con;
p[local]=con;
p[local]->next=NULL;
}//添加数据进入
template <class T>
void showLink(Node<T>**p,int n)
{
for(int i=0;i<n;i++)
{
Node<T>*s=p[i];
cout<<s->value<<"--->";
s=s->next;
while(s!=NULL)
{
cout<<s->colun<<"value :"<<s->value;
}
}
}//打印模版