sub24.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 59 行
CPP
59 行
#include <stdio.h>
#include<conio.h>
#include"listaint.h"
int testarc(int,int);
void DFS(int);
Lista vect[20];
int mark[20];
void main(void)
{
int nod,arc,nr_arc,nr,n1,n2,first;
clrscr();
printf("\n Introduceti numarul de noduri si numarul de arce :");
scanf("%d%d",&nod,&arc);
for(int i=1;i<=nod;i++)
vect[i]=NULL;
printf("\nIntroduceti arcele :\n");
for(i=0;i<arc;i++)
{
scanf("%d", &nr_arc);
scanf("%d", &nr);
insert(vect[nr_arc], nr);
}
printf("\n Introduceti doua noduri: ");
scanf("%d%d", &n1, &n2);
if(testarc(n1, n2)==1)
printf("\nExista arc de la %d la %d !\n", n1, n2);
else
printf("\nNU EXISTA arc de la %d la %d !",n1,n2);
printf("\n Introduceti nodul din care incepe traversarea :");
scanf("%d", &first);
printf("\nSecventa DFS pornind de la nodul %d :",first);
DFS(first);
getch();
}
int testarc(int n1,int n2)
{
Element *p=vect[n1];
while(p)
{
if(p->data==n2)
return 1;
p=p->link;
}
return 0;
}
void DFS(int i)
{
Lista p;
mark[i]=1;
printf(" %d",i);
for(p=vect[i];p!=0;p=p->link)
if(mark[p->data]==0)
DFS(p->data);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?