11. }
Node AddNode (char A) {
Node *B = (Node *)malloc(sizeof(Node));
B->name = A;
for (int i = 0; i < 26 ; i++) {
B->link[i] = NULL;
B->page[i] = 0;
}
B->count = 0;
B -> spot = 0;
return *B;
}
Node Delnode (Node *A, char B) {
for (int i = 0; i < 26 ; i++) {
if (A -> link[i] != NULL ) {
if (A -> link[i] -> name == B) {
A -> link[i] = NULL;
printf("%c์ LINK&d์ %c๋ฅผ ์ญ์ n",A -> name,i,B); }
}
}
return *A;
}
int Search (Node *A, char B) {
int x = 0;
int i;
for (i = 0; i < 26 ; i++) {
if (A -> link[i] != NULL ) {
if (A -> link[i] -> name == B) {
x = 1;
break;
}
} else {break;}
}
return x;
}
int Searchspot (Node *A, char B) {
for (int i = 0; i < 26 ; i++) {
if (A -> link[i] != NULL ) {
if (A -> link[i] -> name == B) {return A -> link[i] -> spot;}
}
}
return 0;
}
void Printans (Node *A, char ans[], int x) {
ans[x] = A -> name;
int i;
int j;
- 10 -
12. if (A -> count != 0) {
printf("๋จ์ด : ");
for (j=0; j<=x; j++) {
printf("%c", ans[j]);
}
// printf("%c", A->name);
printf("๋ฑ์ฅ ํ์ : ");
printf("%d",A->count);
printf("๋ฑ์ฅ ํ์ด์ง : ");
for (j=0; j<26; j++) {
if (A ->page[j] == 1) {
printf("%d n",j+1);
}
}
}
for (i = 0 ; i < 26 ; i++) {
if (A->link[i] != NULL) {
if (A -> spot != 0) x+=1;
Printans( A->link[i],ans,x);
} else {}
}
return;
} // ์ถ๋ ฅ
์ด์ ์์ค์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋๋ฐ ์ค๋ฅ๋ฅผ ์ฐพ์ง ๋ชปํ์ฌ ๋ฌธ์์ด์ ๋ฐฐ์ด์ ์ฎ๊ฒจํ์ด๋ณด๊ธฐ
ํ์๋ด์ฉ
๋ก ํ์ฌ ๋ถ๋ฆฌ ์์ผ๋ณด๊ธฐ๋ก ํ์์.
๋ฌธ์์ด์ ๋ฐฐ์ด์ ์ฎ๊ฒจ ํ์ด ๋ณธ ํ else๊ตฌ๋ฌธ์ if ๊ตฌ๋ฌธ์ผ๋ก ๋ฐ๊พผํ ์คํํ๋ ์ค๋ฅ๋ ๋ฐ์
๋ฌธ์ ์ ํ์ง ์์์. ๊ทธ๋ฌ๋ 6๊ธ์๋ฅผ ๋์ด์ ์ ๋ ฅ ๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ๋ฐ์๋จ.
์ค๋ฅ๋ฅผ ์ฐพ์ผ๋ ค ํ์์ผ๋ ์ฐพ์ง ๋ชปํ์์.
๊ฒฐ๊ณผ ๋ฐํ
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <string.h>
struct Node {
char name;
Node *link[26];
int page[26];
int count;
int spot;
};
Node addtree (Node *A, Node *B);
Node AddNode (char A);
Node Delnode (Node *A, char B);
int Search (Node *A, char B);
int Searchspot (Node *A, char B);
ํ๋ก๊ทธ๋จ ์์ค void Printans (Node *A, char ans[], int x);
int main () {
int i,j,x,z;
int check=0;
FILE *point;
char arr[100];
int a;
int m=0;
int Sizec;
// printf("์งํ์ค");
Node *tree = (Node *)malloc(sizeof(Node));
// printf("์งํ์ค");
point=fopen("C://file.txt","r");
if(point==NULL)
{
- 11 -