数据结构中(c++语言) 有向图的邻接表表示法,为什么代码运行时无法输出邻接点位置信息??求解答 !( 编译器devc++)


#include<iostream>
using namespace std;
#define MVNum 100                                                    //最大顶点信息
#define OK  1
typedef char vertextype;
typedef int otherinfo;

   //----------图的邻接变存储表示-----------
typedef struct arcnode {                                            //边结点
    int adjvex;                                                        //该边所指向顶点的位置
    struct arcnode *nextarc;                                        //指向下一条边的指针
    char *info;                                                    //和边相关的信息
}arcnode;

typedef struct vnode {
    char data;                                                //顶点信息
    arcnode *firstarrc;                                                //指向第一条依附该顶点
                                                                                                                                                                                                                                                                    
}vnode,adjlist[MVNum];
typedef struct {
    adjlist vertices;                                                // 邻接表
    int vexnum;                                                     //图的当前顶点数
    int arcnum;                                                        //图的当前边数
    
}algraph;
int located(algraph g,char v)
{
    int i;
    for(i=0;i<g.vexnum;i++){
    if(v==g.vertices->data){
        return i;
    }
    }
}
void creat(algraph &g)
{
    arcnode *p;
    char v1,v2;
    int i,k,j;
    cin>>g.vexnum>>g.arcnum;
    for(i=0;i<g.vexnum;i++){
        cin>>g.vertices[i].data;
        g.vertices[i].firstarrc=NULL;
    }
    for(k=0;k<g.arcnum;k++){
        cin>>v1>>v2;
        i=located(g,v1);
        j=located(g,v2);
        p=new arcnode;
        p->adjvex=j;
        p->info=NULL;
        p->nextarc=g.vertices[i].firstarrc;
        g.vertices[i].firstarrc=p;
    }
    cout<<"ok have created."<<endl;
}
void bianli(algraph g)
{ 
   arcnode *p;
   int i;
   cout<<"共有"<<g.vexnum<<"个顶点:"<<endl;
   for(i=0;i<g.vexnum;i++){
   cout<<g.vertices[i].data<<" ";
  }
   cout<<"\n共有"<<g.arcnum<<"条边:"<<endl;
    for (i = 0; i < g.vexnum;i++)
    {    
         p=g.vertices[i].firstarrc;
        while(p){

            cout<<g.vertices[i].data << "→" <<g.vertices[p->adjvex].data << " ";
            p=p->nextarc;
        }
        cout<<endl;

}
}
int main()
{
    algraph g;
    creat(g);
    bianli(g);
}

你的测试数据是什麽?
我一直输入2,是有结果输出的