#include <iostream>
using namespace std;
int G[10][10]={ {0,1,0,1,0},
{1,0,1,0,1},
{0,1,0,1,1},
{1,0,1,0,0},
{0,1,1,0,0}, };
int vexnum=5;
void show()
{
for(int i=0;i<vexnum;i++)
{
for(int j=0;j<vexnum;j++)
cout<<G[i][j]<<" ";
cout<<endl;
}
cout<<endl;
}
int arcnum()
{
int n=0;
for(int i=0;i<vexnum;i++)
{
for(int j=0;j<i;j++)
if(G[i][j])
n++;
}
return n;
}
void addVex() //增加顶点
{
vexnum++;
}
void addArc(int v,int w) //增加边
{
int i=v-1;
int j=w-1;
G[i][j]=G[j][i]=1;
}
void cutArc(int v,int w) //删除边
{
int i=v-1;
int j=w-1;
G[i][j]=G[j][i]=0;
}
void cutVex(int v) //删除一个顶点
{
for(int i=0;i<vexnum;i++)
{
for(int j=v-1;j<vexnum;j++)
G[i][j]=G[i][j+1];
}
for(int i=v-1;i<vexnum;i++)
{
for(int j=0;j<vexnum;j++)
G[i][j]=G[i+1][j];
}
vexnum--;
}
int main()
{
show();
cout<<"arcnum="<<arcnum()<<endl;
addVex();
addArc(4,vexnum);
show();
cout<<"arcnum="<<arcnum()<<endl;
cutArc(2,3);
show();
cout<<"arcnum="<<arcnum()<<endl;
cutVex(1);
show();
cout<<"arcnum="<<arcnum()<<endl;
return 0;
}
using namespace std;
int G[10][10]={ {0,1,0,1,0},
{1,0,1,0,1},
{0,1,0,1,1},
{1,0,1,0,0},
{0,1,1,0,0}, };
int vexnum=5;
void show()
{
for(int i=0;i<vexnum;i++)
{
for(int j=0;j<vexnum;j++)
cout<<G[i][j]<<" ";
cout<<endl;
}
cout<<endl;
}
int arcnum()
{
int n=0;
for(int i=0;i<vexnum;i++)
{
for(int j=0;j<i;j++)
if(G[i][j])
n++;
}
return n;
}
void addVex() //增加顶点
{
vexnum++;
}
void addArc(int v,int w) //增加边
{
int i=v-1;
int j=w-1;
G[i][j]=G[j][i]=1;
}
void cutArc(int v,int w) //删除边
{
int i=v-1;
int j=w-1;
G[i][j]=G[j][i]=0;
}
void cutVex(int v) //删除一个顶点
{
for(int i=0;i<vexnum;i++)
{
for(int j=v-1;j<vexnum;j++)
G[i][j]=G[i][j+1];
}
for(int i=v-1;i<vexnum;i++)
{
for(int j=0;j<vexnum;j++)
G[i][j]=G[i+1][j];
}
vexnum--;
}
int main()
{
show();
cout<<"arcnum="<<arcnum()<<endl;
addVex();
addArc(4,vexnum);
show();
cout<<"arcnum="<<arcnum()<<endl;
cutArc(2,3);
show();
cout<<"arcnum="<<arcnum()<<endl;
cutVex(1);
show();
cout<<"arcnum="<<arcnum()<<endl;
return 0;
}