2_7.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:1k
- /* ======================================== */
- /* 程式实例: 2_7.c */
- /* 稀疏阵列之压缩的表示法 */
- /* ======================================== */
- void main()
- {
- int sparse[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 compress[6][3]; /* 压缩阵列的宣告 */
- int i,j,k;
- k = 1; /* 设定变数初值 */
- compress[0][0] = 5; /* 阵列sparse有5列 */
- compress[0][1] = 10; /* 阵列sparse有10行 */
- compress[0][2] = 5; /* 阵列使用5个元素 */
- for ( i = 0; i < 5; i++ ) /* 二维阵列的走访 */
- for ( j = 0; j < 10; j++ )
- if ( sparse[i][j] != 0 ) /* 元素有没有使用 */
- {
- compress[k][0] = i; /* 储存列数 */
- compress[k][1] = j; /* 储存行数 */
- /* 储存元素值 */
- compress[k][2] = sparse[i][j];
- k++; /* 下一列 */
- }
- for ( i = 0; i < 6; i++ ) /* 压缩阵列的列印 */
- {
- for ( j = 0; j < 3; j++ )
- printf("%2d ",compress[i][j]);
- printf("n"); /* 换行 */
- }
- }