题目描述:


思路:

先用三元顺序表存放稀疏矩阵

typedef struct{    int row, col;    int elem;} Elem;typedef struct{    int Row, Col, n;    Elem data[10000];} Matrix;

接着行列号互换

    T.Row = matrix.Col;    T.Col = matrix.Row;    T.n = matrix.n;

然后按列号优先的顺序,将原矩阵与转置矩阵T行列元素互换即可

if (T.n)    {        q = 1;        for (j = 0; j < matrix.Col; j++)            for (p = 1; p <= matrix.n; p++)                if (matrix.data[p].col == j)                {                    T.data[q].row = matrix.data[p].col;                    T.data[q].col = matrix.data[p].row;                    T.data[q].elem = matrix.data[p].elem;                    q++;                }    }

完整代码如下:

#include #include using namespace std;typedef struct{    int row, col;    int elem;} Elem;typedef struct{    int Row, Col, n;    Elem data[10000];} Matrix;int main(){    Matrix matrix;    cin >> matrix.Row >> matrix.Col >> matrix.n;    int N = matrix.n;    int i = 1;    while (N--)    {        int r, c, e;        cin >> r >> c >> e;        matrix.data[i].row = r;        matrix.data[i].col = c;        matrix.data[i].elem = e;        i++;    }    Matrix T;    T.Row = matrix.Col;    T.Col = matrix.Row;    T.n = matrix.n;    int p, q, j;    if (T.n)    {        q = 1;        for (j = 0; j < matrix.Col; j++)            for (p = 1; p <= matrix.n; p++)                if (matrix.data[p].col == j)                {                    T.data[q].row = matrix.data[p].col;                    T.data[q].col = matrix.data[p].row;                    T.data[q].elem = matrix.data[p].elem;                    q++;                }    }    for(i=1;i    {        cout<" "<    }    return 0;}

三元组顺序表表示的稀疏矩阵加法_数据结构实验题(三元组顺序表表示的稀疏矩阵转置运算)...相关推荐

  1. 数据结构实验:哈希表

    数据结构实验:哈希表 题目描述 在n个数中,找出出现次数最多那个数字,并且输出出现的次数.如果有多个结果,输出数字最小的那一个. 输入 单组数据,第一行数字n(1<=n<=100000). ...

  2. rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)

    原文托管在Github: https://github.com/shellhub/blog/issues/52 数据结构与算法之线性表-顺序表实现(C语言版本) 前言 数据结构与算法是一个程序员必备的 ...

  3. 数据结构三元组实验报告_数据结构实验报告

    实验一 约瑟夫问题 实验学时: 3 学时 实验类型:设计 实验要求:必修 一.实验目的 熟练掌握线性链表的基础知识: 能够使用 C++ 或其他程序设计语言编程实现线性链表: 能够使用线性链表构造正确而 ...

  4. python线性表顺序存储实现_数据结构——基于C的线性表的顺序存储结构的基本操作的实现...

    /*** *SeqList.c *Copyright (c) 2015, XZG. All rights reserved. *Purpose: * 线性表顺序存储结构的创建.数据插入.数据获取.获取 ...

  5. c++数据结构中 顺序队列的队首队尾_数据结构与算法—队列详解

    前言 栈和队列是一对好兄弟,前面我们介绍过数据结构与算法-栈详解,那么栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出口,只能后进先出(在外面的先出去).而队列就好比是一个隧道,后面 ...

  6. 分别用邻接矩阵和邻接表实现图的深度优先遍历和广度优先遍历_数据结构|图的邻接表与深度、广度优先搜索

    线性存储元素时,元素的关系也同时确定了.而非线性数据结构就不同了,需要同时考虑存储数据元素和数据元素的关系. 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位 ...

  7. c++数据结构中 顺序队列的队首队尾_数据结构与算法—队列图文详解

    前言 栈和队列是一对好兄弟,前面我们介绍过数据结构与算法-栈详解,那么栈的机制相对简单,后入先出,就像进入一个狭小的山洞,山洞只有一个出口,只能后进先出(在外面的先出去).而队列就好比是一个隧道,后面 ...

  8. linux如何把mysql表名换成小写_让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)...

    把 Windows 下的应用部署到 Linux 下,使用到了 Quartz 集群的特性,所以建了 MySql 的中间表,一启动看到报错: Invocation of init method faile ...

  9. c++数据结构中 顺序队列的队首队尾_数据结构 3.3 顺序队

    一些废话 光有理论是远远不够的,只有自己亲自敲过代码,做过编程题才能说自己学过数据结构.但被PTA的ds习题折磨了几天之后,我领悟到一个道理: 学习理论时可以用C语言造轮子深入理解. 上机做题时使用C ...

最新文章

  1. [2DPIC调试笔记]parameter_antenna_radiation1013(3)
  2. Git之深入解析如何运行自己的Git仓库托管服务器
  3. kafka集群原理介绍
  4. 人造卫星为什么会绕着地球转而不是停在太空中或者越飞越远.掉进地球的卫星为什么烧不完....
  5. java mysql 语句解析器_几种基于Java的SQL解析工具的比较与调用
  6. 视频领域的Instagram:Viddy用户突破2600万
  7. 向窗口发送ctrl c复制 消息
  8. EasyPR源码剖析(4):车牌定位之Sobel算子定位
  9. 系统如何删除被其它进程占用的文件?
  10. python文本情感分析代码_6行代码的超简单语言情感分析:由Python的Vader情感库实现,超级,使用,vaderSentiment...
  11. c语言吧五子棋纯干货注释,请帮我注释下这个五子棋程序
  12. OpenWrt 路由器过滤广告的N种方法
  13. 主板检测卡c5_主板检测卡代码(常见)及解决方法
  14. 郑码输入法 字根记忆表 一般根变通处理
  15. 周记——20150720
  16. pip3.7.5安装环境依赖onnxruntime、onnx、numpy、skl2onnx
  17. centos中文、英文乱码
  18. AI科普(一):什么是人工智能?
  19. JZ38* 字符串的排列
  20. 基于Vue+Vant的旅游WebApp的设计与实现

热门文章

  1. PHP 权威代码风格规范
  2. 斯洛文尼亚最大零售商接受BCH支付
  3. 为什么我们需要比特币(BCH)
  4. swift - label 的font 设置 文字字体和大小
  5. collection_check_boxes的应用
  6. 指定域的名称或安全标识(SID)与该域的信任信息不一致.
  7. Windows 服务器开机自启动
  8. Android开发学习——android体系结构
  9. spring4新功能官方下载地址
  10. switch case in protected scope 异常解决