// STACK.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define N 6
#define W 3//带宽
int absolute(int i,int j)
{
if(i-j>0) return i-j;
else return j-i;
}
int init(int *&b)
{
b=(int *)malloc(sizeof(N*W-2));
return 0;
}
int value(int i,int j,int *b)
{
if(absolute(i,j)>=(W+1)/2)return 0;
else return b[2*i+j-W];
}
void display(int *b)
{
for(int i=1;i<=N;i++)
{ for(int j=1;j<=N;j++)
{
printf("%d\t",value(i,j,b));
}putchar('\n');
}
}
int main()
{int *b;
init(b);
puts("压缩为向量:");
for(int i=0;i<N*W-2;i++)
{
b[i]=i+1;
printf("%d\t",b[i]);
}
putchar('\n');
puts("print:");
display(b);
return 0;
}
DS:带状矩阵
最新推荐文章于 2023-03-31 21:38:35 发布