⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new.c

📁 数据结构—链表&深度遍历的演示练习。对于初学数据结构的朋友可以提供参考
💻 C
字号:
#include"stdio.h"
#include"malloc.h"
#define M 30

/*/////////////////////*ILLUSION-EX*////////////////////////*/
typedef struct node                    /*节点定义*/
{
   int vex;
   struct node *link;
}NODE;

typedef struct tnode                    /*数组节点*/
{
   int data;
   NODE *link;
}TNODE;
/*/////////////////////*ILLUSION-EX*////////////////////////*/
void create(TNODE a[],int n)           //创建节点
{	
	NODE *p;
	int i,j;
	for (i=1;i<=n;i++)               //指针域清零
	{
		a[i].link=0;
	}
	printf("请输入两个关系节点(节点-节点):");
	scanf("%d-%d",&i,&j);
	while((j>0)&&(i>0))                //循环属于节点关系
	{   
		p=(NODE*)malloc(sizeof(NODE));
		p->vex=j;
		p->link=a[i].link;
		a[i].link=p;
		p=(NODE*)malloc(sizeof(NODE));
		p->vex=i;
        p->link=a[j].link;
		a[j].link=p;
		printf("请输入两个关系节点(节点-节点): ");
		scanf("%d-%d",&i,&j); 
	}
}
/*/////////////////////*ILLUSION-EX*////////////////////////*/
void output(TNODE a[], int n)          //深度遍历
{ 
	int i;
    NODE *p;
    printf("创建数组链表 :\n");
    for (i=1;i<=n;i++)
   {
	  printf("第%d个数组节点:",i);
      p=a[i].link;
      while(p)
	  { 
		  printf("%d   ",p->vex);
          p=p->link; 
	  }
          printf("\n");   
	}
}
/*/////////////////////*ILLUSION-EX*////////////////////////*/
void  dfs(TNODE g[],int v)            //??????????????
{ 
	 int w; NODE *ptr;
     ptr=g[v].link;
     printf("%d\n",v);
     g[v].data=1;
     while  (ptr)
     { 
        w=ptr->vex;
        if ( g[w].data==0)  dfs(g,w);
        ptr=ptr->link;  
	 } 
}
/*/////////////////////*ILLUSION-EX*////////////////////////*/
main()
{ 
     int i,n;
     TNODE adj[M];
     printf("请输入图中节点的个数 : ");
     scanf("%d",&n);
     for (i=1;i<=n;i++)
   {
       adj[i].data=0;
   }
     create(adj,n);
     output(adj,n);
     dfs(adj,1);  
}
/*/////////////////////*ILLUSION-EX*////////////////////////*/
/*/////////////////////*ILLUSION-EX*////////////////////////*/
/*/////////////////////*ILLUSION-EX*////////////////////////*/
/*/////////////////////*ILLUSION-EX*////////////////////////*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -