【数据结构实验四】数组
来源:互联网 发布:python遍历一个字符串 编辑:程序博客网 时间:2024/05/14 18:00
版权申明:
本实验的实验目的,实验内容,实验要求归东北大学所有,未经许可禁止转载。
实验四 数组
实验目的:
掌握利用三元组实现稀疏矩阵的顺序存储;掌握三元组的基本操作,实现矩阵的转置。
实验内容:
1. 通过结构体声明三元组类型和稀疏矩阵类型;
2. 实现矩阵的创建和输出;
3. 编写矩阵转置函数;
4. 在主函数中声明一个稀疏矩阵,转置后并输出。源码:
#define MAXSIZE 12500#include "stdafx.h"#include <iostream>using namespace std;typedef int ElemType;typedef int Status;/***********类型定义***********/typedef struct{int i, j; //该非零元的行下标和列下标ElemType e; //非零元的值}Triple;typedef struct{Triple data[MAXSIZE + 1]; //三元组的最大范围int mu, nu, tu; //三元组的行、列、值}TSMatrix;/***********创建三元组***********/void CreateSMatrix(TSMatrix &M, int mu, int nu, int tu){M.mu = mu;M.nu = nu;M.tu = tu;int k ;M.data[0].e = 0;cout << "行数:" << mu << " 列数:" << nu << endl;cout << "请输入:" << tu << " 个三元组(i j elem):" << endl;for(k = 1; k <= tu; k++){cin >> M.data[k].i >> M.data[k].j >> M.data[k].e;}}/***********显示三元组***********/void PrintSMatrix(TSMatrix M){cout << endl;cout << "稀疏矩阵为: " << endl;int i, j, p;p = 1;for(i = 1; i <= M.mu; i++){for(j = 1; j <= M.nu; j++){if(M.data[p].i == i && M.data[p].j == j){cout << M.data[p].i << " " << M.data[p].j << " " << M.data[p].e << endl;p++;}}}cout << endl;}/***********矩阵转置***********/Status TransposeSMatrix(TSMatrix M, TSMatrix &T){cout << "##########矩阵转置##########" << endl;int col, q, p;T.mu = M.nu;T.nu = M.mu;T.tu = M.tu;if(T.tu){q = 1;for(col = 1; col <= M.nu; ++col){for(p = 1; p <= M.tu; ++p){if(M.data[p].j == col){T.data[q].i = M.data[p].j;T.data[q].j = M.data[p].i;T.data[q].e = M.data[p].e;++q;}}}}return OK;}/***********主函数***********/int main(){TSMatrix A, B;CreateSMatrix(A, 4, 4, 5);PrintSMatrix(A);TransposeSMatrix(A, B);PrintSMatrix(B);return 0;}注意一下,显示三元组函数那边其实没有必要比较i和j,直接循环p其实就ok了,这个bug后来也没改,毕竟这样程序也可以用==、
运行结果:
0 0
- 【数据结构实验四】数组
- <数据结构> 实验四 字符串和多维数组
- 《数据结构》实验四: 字符串和多维数组
- 《数据结构》实验四 字符串和多维数组
- 数据结构实验四 :字符串和多维数组
- 《数据结构》实验四 字符串和多维数组 实验
- 《数据结构》实验四 字符串和多维数组 实验
- 《数据结构》实验四 字符串和多维数组 实验
- 《数据结构》实验四: 字符串和多维数组 实验
- 《数据结构》实验四:字符串和多维数组 实验报告
- 《数据结构》实验四: 字符串和多维数组 实验报告
- 《数据结构》实验四: 字符串和多维数组 实验
- 《数据结构》实验四:字符串和多维数组 实验
- 《数据结构》实验四: 字符串和多维数组 实验
- 《数据结构》实验四:字符串和多维数组 实验(一)
- 《数据结构》实验四: 字符串和多维数组 实验
- 数据结构:实验四 字符串和多维数组实验
- 《数据结构》实验四: 字符串和多维数组 实验
- 将自己的python程序打包成exe(秀同学一脸呐)
- 斯坦福大学第七讲-最优间隔分类器
- sdut 3893 Return of the Nim(matrix nim)
- Android常见的几种移动支付
- java 服务器接口快速开发之servlet详细教程
- 【数据结构实验四】数组
- 关于重定向RedirectAttributes的用法
- mongodb 模糊查询
- 自用fake库,生成身份证,手机号,中文姓名,ip地址和邮箱地址等
- 面试笔试(一):平衡二叉树,Java正则验证,List查找时间复杂度,ORM框架的选择
- jQuery选择器优化问题,使用$('#a .b')等,IDE会提示这是低效的用法的解决
- Problem D: 平面上的点和线——Point类、Line类 (V)
- ofo创始人戴威称共享单车日收入接近1000万
- TextInput组件和Touchable组件