#include "sparse-matrix.h"
#include <stdexcept>
#include <sstream>
#include <iostream>
template<class T>
T SparseMatrix<T>::get(unsigned int row, unsigned int column)const
{
if(row >= this->row_size || column >= this->column_size)
throw std::out_of_range("recived argument out of matrix range.");
for(auto it = this->matrix.begin(); it != this->matrix.end(); ++it)
{
if(it->number < column) continue;
else if(it->number == column)
{
for(auto jt = it->data.begin(); jt != it->data.end(); ++jt)
{
if(jt->number < row) continue;
else if(jt->number == row) return jt->data;
else if(jt->number > row) break;
}
break;
}
else if(it->number > column) break;
}
return T(0);
}
template<class T>
void SparseMatrix<T>::set(unsigned int row, unsigned int column, T data)
{
if(row >= this->row_size || column >= this->column_size)
throw std::out_of_range("recived argument out of matrix range.");
auto it = this->matrix.begin();
for(; it != this->matrix.end(); ++it)
{
if(it->number < column) continue;
else if(it->number == column)
{
for(auto jt = it->data.begin(); jt != it->data.end(); ++jt)
{
if(jt->number < row) continue;
else if(jt->number == row) jt->data = data;
else if(jt->number > row)
it->data.insert(jt, SparseMatrix<T>::Row{data, row});
break;
}
return;
}
}
std::list< SparseMatrix<T>::Row > new_row{ SparseMatrix<T>::Row{data,row} };
SparseMatrix<T>::Column new_column{new_row, column};
this->matrix.insert(it, new_column);
}
template<class T>
SparseMatrix<T>::operator std::string()const
{
std::stringstream ss;
for(unsigned int i = 0; i < this->row_size; ++i)
{
for(unsigned int j = 0; j < this->column_size; ++j)
ss << this->get(i,j) << " ";
ss << std::endl;
}
return ss.str();
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看!
共5个文件
cpp:2个
sh:1个
makefile:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 13 浏览量
2023-06-10
18:27:38
上传
评论
收藏 2KB ZIP 举报
温馨提示
基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看! 基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看! 基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看! 基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看! 基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看! 基于Qt和C++的系数矩阵可视化,优秀数据结构程序设计,新手必看!
资源推荐
资源详情
资源评论
收起资源包目录
SparseMatrix.zip (5个子文件)
SparseMatrix
sparse-matrix.cpp 2KB
Makefile 95B
main.cpp 1KB
sparse-matrix.h 788B
run.sh 12B
共 5 条
- 1
资源评论
- Cwyrity2024-07-01资源不错,很实用,内容全面,介绍详细,很好用,谢谢分享。
振华OPPO
- 粉丝: 38w+
- 资源: 571
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功