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 + -
显示快捷键?