체인 테이블과 그룹의 귀속
2268 단어 C 언어 반복
헤드가 비공식 단방향 체인 시계를 가리키도록 설정합니다
예1: 정방향 출력 체인 데이터 영역의 값
void PrintLink(ElemSN *head)
{
if(head){
printf("%d\t",head->data);
PrintLink(head->next);
}
}
예2: 역방향 출력 단일 체인 테이블 데이터 영역의 값
void PrintLink(ElemSN *head)
{
if(head){
PrintLink(head->next);
printf("%d\t",head->data);
}
}
예3: 단방향 체인 테이블 노드의 개수를 되돌려줍니다
int CountNode(ElemSN *head)
{
if(head)
return CountNode(head->next)+1;
else
return 0;
}
:
int CountOddNode(ElemSN *head)
{
if(head)
return CountNode(head->next)+head->data%2;
else
return 0;
}
:
int MaxValue(ElemSN *head)
{
int max;
if(!head->next)
max=head->data;
else{
max=MaxValue(head->next);
if(head->data>max)
max=head->data;
}
return max;
}
:
int MaxNode(ElemSN *head)
{
ElemSN *max;
if(!head->next)
max=head;
else{
max=MaxNode(head->next);
if(head->data>max->data)
max=head;
}
return max;
}
a[n]
:
void PrintArry(int a[],int n)
{
if(n){
printf("%d"\t,*a);
PrintArry(a+1,n-1)
}
}
:
void PrintArry(int a[],int n)
{
if(n){
PrintArry(a+1,n-1);
printf("%d\t",*a);
}
}
:
int ArrySum(int a[],int n)
{
if(n){
return *a+ArraySum(a+1,n-1);
}
else return 0;
}