数据结构---数组
来源:互联网 发布:直通车卡首屏软件 编辑:程序博客网 时间:2024/05/02 03:00
数组的实现及操作:
#define MAXSIZE 100
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int ElemType;
typedef struct ...{
int i,j;
ElemType e;
}Triple;
typedef struct ...{
Triple data[MAXSIZE];
int mu,nu,tu;
}TSMatrix;
//利用二维数据创建一个三元组顺序表
int CreatMatrix(int array[][3],TSMatrix *m)
...{
int q=0;
m->mu=3;
m->nu=3;
for(int row=0;row<3;row++)
...{
for(int col=0;col<3;col++)
...{
if(array[row][col])
...{
m->data[q].e=array[row][col];
m->data[q].i=row;
m->data[q].j=col;
q++;
}
}
}
m->tu=q;
return OK;
}
/**//*
int CreatMatrix(int *array,int rownum,int colnum,TSMatrix *m)
{
int q=0;
m->mu=rownum;
m->nu=colnum;
for(int row=0;row<rownum;row++)
{
for(int col=0;col<colnum;col++)
{
if(*array!=0)
{
m->data[q].e=*array;
m->data[q].i=row;
m->data[q].j=col;
q++;
}
array++;
}
}
m->tu=q;
return OK;
}
*/
//转置
int TransposeMatrix(TSMatrix m,TSMatrix &t)
...{
int q=0;
t.mu=m.nu;
t.nu=m.mu;
t.tu=m.tu;
if(t.tu)
...{
for(int col=0;col<m.nu;col++)
for(q=0;q<m.tu;q++)
if(m.data[q].j==col)
...{
t.data[q].i=m.data[q].j;
t.data[q].j=m.data[q].i;
t.data[q].e=m.data[q].e;
++q;
}
}
return OK;
}
//输出元素
void PrintMatrix(TSMatrix m)
...{
for(int c=0;c<m.tu;c++)
...{
printf("%d,%d is :%d ",m.data[c].i+1,m.data[c].j+1,m.data[c].e);
}
}
int main(int agrc,char *argv[])
...{
int array[3][3]=...{...{0,0,1},...{0,2,3},...{4,0,0}};
TSMatrix m,n;
CreatMatrix(array,&m);
// CreatMatrix(*array,3,3,&m);
// CreatMatrix(array[0],3,3,&m);
TransposeMatrix(m,n);
PrintMatrix(m);
printf("after transport .... ");
PrintMatrix(n);
printf(" ");
}
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int ElemType;
typedef struct ...{
int i,j;
ElemType e;
}Triple;
typedef struct ...{
Triple data[MAXSIZE];
int mu,nu,tu;
}TSMatrix;
//利用二维数据创建一个三元组顺序表
int CreatMatrix(int array[][3],TSMatrix *m)
...{
int q=0;
m->mu=3;
m->nu=3;
for(int row=0;row<3;row++)
...{
for(int col=0;col<3;col++)
...{
if(array[row][col])
...{
m->data[q].e=array[row][col];
m->data[q].i=row;
m->data[q].j=col;
q++;
}
}
}
m->tu=q;
return OK;
}
/**//*
int CreatMatrix(int *array,int rownum,int colnum,TSMatrix *m)
{
int q=0;
m->mu=rownum;
m->nu=colnum;
for(int row=0;row<rownum;row++)
{
for(int col=0;col<colnum;col++)
{
if(*array!=0)
{
m->data[q].e=*array;
m->data[q].i=row;
m->data[q].j=col;
q++;
}
array++;
}
}
m->tu=q;
return OK;
}
*/
//转置
int TransposeMatrix(TSMatrix m,TSMatrix &t)
...{
int q=0;
t.mu=m.nu;
t.nu=m.mu;
t.tu=m.tu;
if(t.tu)
...{
for(int col=0;col<m.nu;col++)
for(q=0;q<m.tu;q++)
if(m.data[q].j==col)
...{
t.data[q].i=m.data[q].j;
t.data[q].j=m.data[q].i;
t.data[q].e=m.data[q].e;
++q;
}
}
return OK;
}
//输出元素
void PrintMatrix(TSMatrix m)
...{
for(int c=0;c<m.tu;c++)
...{
printf("%d,%d is :%d ",m.data[c].i+1,m.data[c].j+1,m.data[c].e);
}
}
int main(int agrc,char *argv[])
...{
int array[3][3]=...{...{0,0,1},...{0,2,3},...{4,0,0}};
TSMatrix m,n;
CreatMatrix(array,&m);
// CreatMatrix(*array,3,3,&m);
// CreatMatrix(array[0],3,3,&m);
TransposeMatrix(m,n);
PrintMatrix(m);
printf("after transport .... ");
PrintMatrix(n);
printf(" ");
}
- 数据结构---数组
- 数据结构数组
- 数据结构---->数组
- 数据结构-------数组
- 数据结构-数组
- 数据结构--数组
- 数据结构 - 数组
- 数据结构--数组
- 数据结构 --- 数组
- 数据结构--数组
- 数据结构--数组
- 数据结构-数组
- 数据结构-数组
- 数据结构-数组
- 数据结构-数组
- 数据结构-数组
- 数据结构-->数组
- 数据结构-数组
- 数据结构---字符串
- VS2005的复制网站功能
- 第三方控件个人理解
- NSIS常见问题集锦
- 爬虫/蜘蛛程序的制作(C#语言)(备忘录)
- 数据结构---数组
- ♀o︶随︶o♀
- 我对你的爱净重21克!!
- MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: __CrtDbgReport 已经在 LIBCD.lib(dbgrpt.obj) 中定义
- 数据结构---二叉树
- 昏昏茫茫一周
- 皑滟
- 数据结构---图
- 在Ubuntu上安装vmware tools