• 03-稀疏矩阵


    二维数组表格内容

    为了提高内存使用效率,压缩表示

     

    压缩,是将有效的数据保存下来,上述中无效的数据直接进行了抛弃,而现实中,往往会将重复的数据视为一个有效数据存储,在上述结构中稍作修改即可实现。

     

    #include <iostream>

    using namespace std; 

     

    void printDepress(int arr[][3])

    {

        cout<<"------"

            <<arr[0][0]<<" "

            <<arr[0][1]<<" "

            <<arr[0][2]<<"----"<<endl;

        for (int i=1; i<=arr[0][2]; ++i) {

            for (int j=0; j<3; ++j) {

                cout<<arr[i][j]<<" ";

            }

            cout<<endl;

        }

    }

     

    int main()

    {

        int data[5][10] = {

            0,0,1,0,0,0,0,0,0,0,

            0,0,0,9,0,0,0,0,0,0,

            0,0,0,0,0,2,0,0,0,0,

            0,0,0,0,3,0,0,0,0,0,

            0,0,0,0,0,0,0,6,0,0

        };

        int count = 0;

        int depress[20][3];

        depress[0][0] = 5;

        depress[0][1] = 10;

        for (int row=0; row<5; ++row) {

            for (int col=0; col<10; ++col) {

                if (data[row][col] != 0) {

                    ++count;

                     depress[count][0] = row;

                    depress[count][1] = col;

                    depress[count][2] = data[row][col];

                }

            }

        }

        // 有效数据个数

        depress[0][2] = count;

        printDepress(depress);

        return 0;

    }

     

    结果:

    ------5 10 5----

    0 2 1 

    1 3 9 

    2 5 2 

    3 4 3 

    4 7 6 

    Program ended with exit code: 0

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    oo——第三单元总结
    oo第三单元总结
    【BUAA软工】提问回顾与个人总结
    【BUAA软工】HTTP协议前后端实现及实战北航云盘爬取
    【BUAA软工】软件案例分析
    【BUAA软工】结对编程作业
    【BUAA 软工个人项目作业】玩转平面几何
    【BUAA 软工博客作业】个人博客作业
    【BUAA 软工热身作业】继往开来,勇攀高峰
    BUAA-OO-第四单元总结——终章
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5141962.html
Copyright © 2020-2023  润新知