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

📄 hamilton.c

📁 树的算法
💻 C
字号:
#include "algo.h"#include <stdio.h>#define NUM 5void hamilton(int n, int x[], int c[][NUM]){  int i,z,k;  int cnt=0;  int* s=malloc(sizeof(int)*NUM);  for (i=0; i<n; i++){    x[i]=-1;    s[i]=0;  }  k=1; s[0]=1; x[0]=0;  while (k>-0){    x[k]=x[k]+1;    while (x[k]<n)      if (!s[x[k]]&&c[x[k-1]][x[k]])        break;      else        x[k]=x[k]+1;    if ((x[k]<n) && (k!=n-1)){      s[x[k]]=1; k=k+1;    }    else if ((x[k]<n) && (k==n-1) && c[x[k]][x[0]])    {      printAnswer(x,n,cnt++);      k--; x[k]++;    }    else{      x[k]=-1; k=k-1; s[x[k]]=0;    }  }  free(s);}int main(){  int c[][NUM]={    0,1,0,1,0,    1,0,1,1,1,    0,1,0,1,1,    1,1,1,0,1,    0,1,1,1,0  };  int n=5;  int x[NUM];  hamilton(5,x,c);}

⌨️ 快捷键说明

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