zoukankan      html  css  js  c++  java
  • 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

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Visual Prolog 的 Web 专家系统 (7)
    spring来源理解-BeanFactory子类XmlBeanFactory创建过程
    Threejs 它可以在建立其内部房间效果可见
    Android AlarmManager报警的实现
    什么是注册表和注册表中的作用
    精致的外观Request
    数据仓库的工作日记_创纪录的(一)
    servlet api.jar是干什么的?
    servlet-api-2.5.jar
    用poi-3.6-20091214.jar 实现java给excel资料加密
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5141962.html
Copyright © 2011-2022 走看看