그림의 고리의 수를 구하다
첫 번째 단계: 그림을 matrix로 표시하고,예: 1, 2, 3, 4, 5, 6, 7, 8 matrix=[ 1 0 1 1 1 0 0 0 0 2 1 0 1 0 0 0 0 0 3 1 1 0 1 0 0 0 0 4 1 0 1 0 1 0 0 0 5 0 0 0 1 0 1 1 1 6 0 0 0 0 1 0 1 1 7 0 0 0 0 1 1 0 1 8 0 0 0 0 1 1 1 0 ]
2단계: 변수 정의: typedef struct {int data[MAX]; int length;}Node;//노드의 데이터 구조는 노드 번호가 0,1,2,3. List *qNode;//중간 경로 저장을 위한 List *cirNodes;//이미 링이 된 경로 int**matrix 저장하기;
3단계: 몇 가지 중요한 방법을 정의합니다.
3. 정의 방법: ① void findNextPos(Node *currNode, int **m, int rows);//currNode->data[currNode->length]에 대해 다음 연결된 노드를 검사한다(currNode->data[currNode->length-1]와 같지 않다).//만약 이러한 점이 존재한다면 새 노드를 만들고 원래의currNode를 복사하며 새 노드 newNode의 제length+1개 위치에 찾은 점을 삽입하고length++;그렇지 않으면 노드를 해제합니다.//isAcircle(newNode)을 호출합니다.//circle의 경우 노드를 cirNodes에 넣고, 그렇지 않으면 qNode에 넣습니다. ② bool isAcircle(Node *currNode);//마지막 문자가 앞의 문자와 중복되는지 확인하고circle인지 확인합니다.
4. 기본 구현:
bool isNotVisited(int *table,int rows,int *curr){
int i;
for(i=0;ilength<2) return false;
int depot=currNode->data[currNode->length-1];
int i;
for(i=length-2;i>=0;i--){
if(currNode->data[i]==depot)
return true;
}
return false;
}
Node* generateANode(Node *curr,int nextdepot){
Node * cloneNode =(Node*)malloc(sizeof(Node));
cloneNode->length=curr->length+1;
int i;
for(i=0;ilength;i++){
cloneNode->data[i]=curr->data[i];
}
cloneNode->data[i+1]=nextdepot;
return cloneNode;
}
void findNextPos(Node *currNode,int **m,int rows){
int depot = currNode->data[currNode->length-1];
int lastDepot=-1;
if((currNode->length)>1) lastDepot=currNode->data[currNode->length-2];
int i;
for(i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.