文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>数据结构C语言>数组>压缩二维数组

数据结构C语言>数组>压缩二维数组

时间:2010-08-17  来源:草珊瑚

二维数组里,有大部分空间没使用,为了增加数组内存的使用效率,我们要压缩它。

嗯,上代码

 

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main(int argc, char *argv[])
 5 {
 6   int sparse[5][10]=    {0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
 7                          0, 0, 0, 9, 0, 0, 0, 0, 0, 0,
 8                          0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
 9                          0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
10                          0, 0, 0, 0, 0, 0, 0, 6, 0, 0 };//稀疏矩阵 
11   int compress[6][3]; //压缩数组 
12   int i,j,k;
13   k=1;
14   compress[0][0] = 5;//数组sparse有5行 
15   compress[0][1] = 10;//数组sparse 有10列 
16   compress[0][2] = 5; //数组sparse有5个元素 
17   for(i=0; i<5; i++) //二维数组遍历 
18   {
19     for(j=0; j<10; j++)
20     {
21        if(sparse[i][j] != 0) //元素没被使用 
22        {
23          compress[k][0] = i;//存储行数 
24          compress[k][1] = j;//存储列数 
25          compress[k][2] = sparse[i][j];//存储元素值 
26          k++;//下一行 
27        }      
28     }       
29   }
30   for(i=0; i<6; i++)  //压缩数组输出 
31   {
32     for(j=0; j<3; j++)
33     {printf("%3d",compress[i][j]);}
34     printf("\n");
35   }
36                          
37                          
38   system("PAUSE");    
39   return 0;
40 }
41 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载